AJax技术

Java EE中Ajax技术实例

字号+ 作者:H5之家 来源:H5之家 2017-05-28 14:02 我要评论( )

下面,我们使用Ajax技术实现登录验证问题:首先,我们需要知道,基本的页面是:首页面(Login.jsp)、登陆成功页面(LoginSuccess.jsp)、登录失败页面(LoginFai

下面,我们使用Ajax技术实现登录验证问题:

首先,我们需要知道,基本的页面是:首页面(Login.jsp)、登陆成功页面(LoginSuccess.jsp)、登录失败页面(LoginFail.jsp)、Servlet判断代码(LoginServlet.java)

其中,Login.jsp页面代码如下所示:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  <html>  <body>  <SCRIPT LANGUAGE="JavaScript"> function login() { var user = document.loginForm.user.value;//获取表单中的值 var pass = document.loginForm.pass.value; var xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");//初始化IE浏览器,即步骤一 var url = "./LoginServlet?user=" + user + "&pass=" + pass; xmlHttp.open("post", url, true); xmlHttp.onreadystatechange = function() { if (xmlHttp.readyState === 4) { resultDiv.innerHTML = xmlHttp.responseText; } else { resultDiv.innerHTML += "正在登录,请稍候……"; } }; xmlHttp.send(); } </SCRIPT>   <marquee>欢迎登录资料管理系统</marquee><hr>   <div id="resultDiv" style="text-align:center">  <form name="loginForm">  请您输入账号:<input type="text" name="user"><BR>  请您输入密码:<input type="password" name="pass"><BR>  <input type="button" value="登录" onclick="login()">  </form>  </div>  </body>  </html>

LoginSuccess.jsp页面代码如下所示:

<%@ page language="java" contentType="text/html; charset=utf-8"%>  <html>  <body><div font="楷体">欢迎${user}登录成功!</div><BR><hr> 您可以选择以下功能:<BR>  <a href="#">查询资料</a><BR>  <a href="#">修改资料</a><BR>  <a href="#">删除资料</a><BR>  <a href="#">退出</a><BR>  </body>  </html>

LoginFail.jsp页面代码如下所示:

<%@ page language="java" contentType="text/html; charset=utf-8"%>  <html>  <body>  对不起,${user}登录失败!<BR>  请您检查是否:账号名或密码写错  </body> </html>

Servlet验证代码LoginSuccess.java,在该Servlet中,进行了数据验证,如果登录成功,跳转到LoginSuccess.jsp,登录失败,跳转到LoginFail.jsp代码如下所示:

package servlets;//包名称import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;public class LoginServlet extends HttpServlet { protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); //设置编码为UTF-8 String user=request.getParameter("user");//在控制台打印用户名和密码 String pass=request.getParameter("pass"); System.out.println("user:"+user); System.out.println("pass:"+pass); HttpSession session=request.getSession();//使用Session保存用户名,用于登录成功之后显示用户名 session.setAttribute("user",user); if(user.equals(pass))//进行简单的验证 { response.sendRedirect("LoginSuccess.jsp"); } else { response.sendRedirect("LoginFail.jsp"); } } // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code."> /** * Handles the HTTP <code>GET</code> method. * * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } /** * Handles the HTTP <code>POST</code> method. * * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } /** * Returns a short description of the servlet. * * @return a String containing servlet description */ @Override public String getServletInfo() { return "Short description"; }// </editor-fold>}


以上就是各部分代码,其实现效果如下面所示:

1、登录界面

 

 

2、登录成功界面

 

3、登录失败界面

 

 

 从以上阐述可以看出,Ajax具有如下优点:

  1.减轻服务器负担,避免整个浏览器窗口刷新时造成的重复请求。

  2.带来更好的用户体验。

  3.进一步促进页面呈现和数据本身的分离等。

  但是,Ajax也有相应的缺点,主要体现在以下方面:

  1.对浏览器具有一定的限制,对于不兼容的浏览器,可能无法使用。

  2.Ajax没有刷新页面,浏览器上的"后退"按钮是失效的,因此,客户经常无法回退到以前的操作等。

 

 

 

以上就是jsp中使用Ajax实现登录验证的实现方法

 



 

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • ajax请求处理数据

    ajax请求处理数据

    2017-05-28 14:06

  • 理解AJAX工作原理 构建网站的有效方法1.1

    理解AJAX工作原理 构建网站的有效方法1.1

    2017-05-27 15:01

  • java web开发:Ajax技术(四):DWR

    java web开发:Ajax技术(四):DWR

    2017-05-27 15:00

  • 用Nginx 修改头信息,让AJAX跨域正常请求

    用Nginx 修改头信息,让AJAX跨域正常请求

    2017-05-27 09:00

网友点评