jQueryのAJAXを使用したJSP Servlet Javaの例

最近、私はJava JSP Servletベースのウェブアプリケーションにおいて、Ajaxは非常に一般的です。最近私はjQueryのメソッドについてたくさん書いてきました。今日は、Java Servlet JSPベースのウェブアプリケーションで簡単にAjax呼び出しを実行し、レスポンスを処理するための重要なjQuery機能の一つについて説明します。

Ajax JSP Servlet の例

「Dynamic Web Project」を作成するためにEclipse IDEを使用していますが、他のIDEでも構いません。私たちの主要な焦点は、JSPからサーブレットへのjQueryとAJAX呼び出しです。下の画像は最終的なプロジェクトの構造を示しています。

以下のAjaxサーブレットコードを日本語で述べ直す:

アジャックスサーブレットのコード

リクエストからユーザー名を取得し、挨拶文を作成してプレーンテキストとして返す非常にシンプルなサーブレットを持っています。

package com.scdev.servlets;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/GetUserServlet")
public class GetUserServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

		String userName = request.getParameter("userName").trim();
		if(userName == null || "".equals(userName)){
			userName = "Guest";
		}
		
		String greetings = "Hello " + userName;
		
		response.setContentType("text/plain");
		response.getWriter().write(greetings);
	}

}

Servlet-3のアノテーションを使って設定していることに注意してください。XMLベースの設定が好みの場合は、web.xmlファイルで行うこともできます。私たちは、jQuery AJAXのサポートを使用して、このサーブレットを非同期に呼び出します。

アジャックス JSP ページ

以下は、私たちのJSPページのコードです。入力フィールドがあり、ユーザー名を入力することができます。フォーカスが外れると、jQueryのAJAXメソッドが実行され、私たちのServletを呼び出してレスポンスを処理します。index.jspのコードです。

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"https://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>jQuery, Ajax and Servlet/JSP integration example</title>

<script src="https://code.jquery.com/jquery-1.10.2.js"
	type="text/javascript"></script>
<script src="js/app-ajax.js" type="text/javascript"></script>
</head>
<body>

	<form>
		Enter Your Name: <input type="text" id="userName" />
	</form>
	<br>
	<br>

	<strong>Ajax Response</strong>:
	<div id="ajaxGetUserServletResponse"></div>
</body>
</html>

JSPページには2つのJSファイルが含まれていることに気付いてください。1つ目はjQueryのJSライブラリであり、もう1つはajax呼び出しのためのJSコードが含まれています。私はcode.jquery.comのURLからjQuery JSをインクルードしていますが、ダウンロードしてJSファイルと一緒に保管することもできます。JSPのコードは非常にシンプルです。私たちはAJAX呼び出しの応答からjQueryを使ってajaxGetUserServletResponseのコンテンツを埋めることになります。

jQueryのAJAXのJavaScriptファイル

以下は、jQueryのAJAXリクエストのための私たちのJavaScriptファイルのコードです。app-ajax.jsのコードです。

$(document).ready(function() {
        $('#userName').blur(function(event) {
                var name = $('#userName').val();
                $.get('GetUserServlet', {
                        userName : name
                }, function(responseText) {
                        $('#ajaxGetUserServletResponse').text(responseText);
                });
        });
});

以下に示すように、私たちはajax()メソッドを使用してjQuery AJAXコールも行うことができます。上記はajax()メソッドを使用するための短縮形のアプローチです。

$(document).ready(function() {
	$('#userName').blur(function() {
		$.ajax({
			url : 'GetUserServlet',
			data : {
				userName : $('#userName').val()
			},
			success : function(responseText) {
				$('#ajaxGetUserServletResponse').text(responseText);
			}
		});
	});
});

以下は、jQueryのajax()メソッドの構文です。上記のコードと関連付けてみてください。そうすれば、何が起こっているか理解できるでしょう。

$.ajax({
  url: url,
  data: data,
  success: success,
  dataType: dataType
});

私たちのjQuery Ajax JSP Servletのサンプルアプリケーションは準備完了です。お好きなサーブレットコンテナにビルドしてデプロイしてください。以下の画像は、私たちのサーブレットが呼び出されていることを確認するためにChromeの開発者ツールを使用しています。

Ajax JSP Servletの例の要約

次のチュートリアルでは、jQueryのAJAXサポートの基礎とJavaウェブアプリケーションとの統合方法を学びました。今後のチュートリアルでは、どんなウェブアプリケーションでも使用できるjQueryのさらなる機能について学びます。最終プロジェクトは以下のリンクからダウンロードできます。

以下の文を日本語で表現する。

「jQuery AJAX Java ウェブアプリケーションプロジェクトをダウンロードする。」

コメントを残す 0

Your email address will not be published. Required fields are marked *