一个简单的Ajax登录例子

1.view(loginAjax.jsp)

Code:
  1. <%@ page contentType="text/html;charset=UTF-8" language="java"%>   
  2. <head>   
  3.     <META http-equiv=Content-Type content="text/html; charset=UTF-8">   
  4. </head>   
  5. <script language="javascript">   
  6.     var XMLHttpReq = false;   
  7.     //创建XMLHttpRequest对象          
  8.     function createXMLHttpRequest() {   
  9.         if (window.XMLHttpRequest) { //Mozilla 浏览器   
  10.             XMLHttpReq = new XMLHttpRequest();   
  11.         } else if (window.ActiveXObject) { // IE浏览器   
  12.             try {   
  13.                 XMLHttpReq = new ActiveXObject("Msxml2.XMLHTTP");   
  14.             } catch (e) {   
  15.                 try {   
  16.                     XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP");   
  17.                 } catch (e) {   
  18.                 }   
  19.             }   
  20.         }   
  21.     }   
  22.     //发送请求函数   
  23.     function sendRequest(url) {   
  24.         createXMLHttpRequest();   
  25.         XMLHttpReq.open("GET", url, true);   
  26.         XMLHttpReq.onreadystatechange = processResponse;//指定响应函数   
  27.         XMLHttpReq.send(null); // 发送请求   
  28.     }   
  29.     // 处理返回信息函数   
  30.     function processResponse() {   
  31.         if (XMLHttpReq.readyState == 4) { // 判断对象状态   
  32.     //  window.alert(XMLHttpReq.status); 测试   
  33.             if (XMLHttpReq.status == 200) { // 信息已经成功返回,开始处理信息   
  34.                 var res = XMLHttpReq.responseXML.getElementsByTagName("res")[0].firstChild.data;   
  35.                 window.alert(res);   
  36.             } else { //页面不正常   
  37.                 window.alert("您所请求的页面有异常。");   
  38.             }   
  39.         }   
  40.     }   
  41.     // 身份验证函数   
  42.     function userCheck() {   
  43.         var uname = document.myform.uname.value;   
  44.         var psw = document.myform.psw.value;   
  45.         if (uname == "") {   
  46.             window.alert("用户名不能为空。");   
  47.             document.myform.uname.focus();   
  48.             return false;   
  49.         } else {    
  50.             sendRequest('loginAjax?uname=' + uname + '&psw=' + psw);   
  51.         }   
  52.     }   
  53. </script>   
  54.   
  55. <body vLink="#006666" link="#003366" bgColor="#E0F0F8">   
  56.     <img height="33" src="<%=request.getContextPath()%>/images/enter.gif"  
  57.         width="148">   
  58.        
  59.     <form action="" method="post" name="myform">   
  60.         用户名:<input size="15" name="uname">   
  61.         <p>密  码:<input type="password" size="15" name="psw">   
  62.         <p><input type="button" value="登录Ajax" οnclick=userCheck();>   
  63.     </form>  

2.p21.loginAction.java

Code:
  1. package p21;   
  2.   
  3. import java.io.IOException;   
  4. import java.io.PrintWriter;   
  5. import javax.servlet.ServletConfig;   
  6. import javax.servlet.ServletException;   
  7. import javax.servlet.http.HttpServlet;   
  8. import javax.servlet.http.HttpServletRequest;   
  9. import javax.servlet.http.HttpServletResponse;   
  10.   
  11.   
  12. public class LoginAction extends HttpServlet {   
  13.        
  14.     private static final long serialVersionUID = 1L;   
  15.     public void init(ServletConfig config) throws ServletException {   
  16.     }   
  17.        
  18.     /*  
  19.      *  处理<GET> 请求方法.  
  20.      */  
  21.     protected void doGet(HttpServletRequest request, HttpServletResponse response)   
  22.     throws ServletException, IOException {   
  23.         //设置接收信息的字符集   
  24.         request.setCharacterEncoding("UTF-8");   
  25.         //接收浏览器端提交的信息   
  26.         String uname = request.getParameter("uname");   
  27.         String psw = request.getParameter("psw");          
  28.         //设置输出信息的格式及字符集           
  29.         response.setContentType("text/xml; charset=UTF-8");   
  30.         response.setHeader("Cache-Control""no-cache");   
  31.         //创建输出流对象   
  32.         PrintWriter out = response.getWriter();   
  33.         //依据验证结果输出不同的数据信息   
  34.         out.println("<response>");     
  35.         System.out.println("来到servlet");   
  36.         if(uname.equals("nothing") && psw.equals("123")){   
  37.             out.println("<res>" + "热烈的欢迎您!" + "</res>");   
  38.         }else{   
  39.             out.println("<res>" + "对不起,登录失败!" + "</res>");   
  40.         }      
  41.         out.println("</response>");   
  42.         out.close();   
  43.     }   
  44.     /*  
  45.      *  处理<POST> 请求方法.  
  46.      */  
  47.     protected void doPost(HttpServletRequest request, HttpServletResponse response)   
  48.     throws ServletException, IOException {   
  49.        doGet(request, response);   
  50.     }   
  51. }   
  52.   
  53.   

3.web.xml配置

Code:
  1. <servlet>  
  2.   <servlet-name>loginAjax</servlet-name>  
  3.   <servlet-class>p21.LoginAction</servlet-class>  
  4. </servlet>  
  5. <servlet-mapping>  
  6.   <servlet-name>loginAjax</servlet-name>  
  7.   <url-pattern>/loginAjax</url-pattern>  
  8. </servlet-mapping>  

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值