一个简单的Ajax登录例子

1.view(loginAjax.jsp)

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

2.p21.loginAction.java

Code:
  1. packagep21;
  2. importjava.io.IOException;
  3. importjava.io.PrintWriter;
  4. importjavax.servlet.ServletConfig;
  5. importjavax.servlet.ServletException;
  6. importjavax.servlet.http.HttpServlet;
  7. importjavax.servlet.http.HttpServletRequest;
  8. importjavax.servlet.http.HttpServletResponse;
  9. publicclassLoginActionextendsHttpServlet{
  10. privatestaticfinallongserialVersionUID=1L;
  11. publicvoidinit(ServletConfigconfig)throwsServletException{
  12. }
  13. /*
  14. *处理<GET>请求方法.
  15. */
  16. protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
  17. throwsServletException,IOException{
  18. //设置接收信息的字符集
  19. request.setCharacterEncoding("UTF-8");
  20. //接收浏览器端提交的信息
  21. Stringuname=request.getParameter("uname");
  22. Stringpsw=request.getParameter("psw");
  23. //设置输出信息的格式及字符集
  24. response.setContentType("text/xml;charset=UTF-8");
  25. response.setHeader("Cache-Control","no-cache");
  26. //创建输出流对象
  27. PrintWriterout=response.getWriter();
  28. //依据验证结果输出不同的数据信息
  29. out.println("<response>");
  30. System.out.println("来到servlet");
  31. if(uname.equals("nothing")&&psw.equals("123")){
  32. out.println("<res>"+"热烈的欢迎您!"+"</res>");
  33. }else{
  34. out.println("<res>"+"对不起,登录失败!"+"</res>");
  35. }
  36. out.println("</response>");
  37. out.close();
  38. }
  39. /*
  40. *处理<POST>请求方法.
  41. */
  42. protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
  43. throwsServletException,IOException{
  44. doGet(request,response);
  45. }
  46. }

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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值