jQuery AJAX JSP Servlet Java示例
Ajax在基于Java JSP Servlet的Web应用程序中非常常见。
最近,我写了很多有关jQuery方法以及如何使用它们的方法。
今天,我们将研究一种重要的jQuery功能,其中我们可以轻松地执行AJAX调用并在基于Java Servlet JSP的Web应用程序中处理响应。
Ajax JSP Servlet示例
我正在使用Eclipse IDE创建"动态Web项目",也可以使用任何其他IDE。
我们的主要重点是从JSP到Servlet的jQuery和AJAX调用。
下图显示了最终的项目结构。
Ajax Servlet代码
我们有一个非常简单的servlet,它从请求中获取用户名,创建问候语并将其作为纯文本返回。
package com.theitroad.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支持异步调用此servlet。
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> Ajax Response: <div id="ajaxGetUserServletResponse"></div> </body> </html>
请注意,我们在JSP页面中包含两个JS文件,第一个是jQuery JS库,另一个包含用于ajax调用的JS代码。
我从code.jquery.com URL中包含jQuery JS,我们也可以下载它并保留我们的JS文件。
JSP代码非常简单,我们将通过jQuery从AJAX调用响应中填充ajaxGetUserServletResponse
div内容。
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 Example应用程序已准备就绪,只需在您喜欢的servlet容器中构建并部署它即可。