1.view(loginAjax.jsp)
- <%@pagecontentType="text/html;charset=UTF-8"language="java"%>
- <head>
- <METAhttp-equiv=Content-Typecontent="text/html;charset=UTF-8">
- </head>
- <scriptlanguage="javascript">
- varXMLHttpReq=false;
- //创建XMLHttpRequest对象
- functioncreateXMLHttpRequest(){
- if(window.XMLHttpRequest){//Mozilla浏览器
- XMLHttpReq=newXMLHttpRequest();
- }elseif(window.ActiveXObject){//IE浏览器
- try{
- XMLHttpReq=newActiveXObject("Msxml2.XMLHTTP");
- }catch(e){
- try{
- XMLHttpReq=newActiveXObject("Microsoft.XMLHTTP");
- }catch(e){
- }
- }
- }
- }
- //发送请求函数
- functionsendRequest(url){
- createXMLHttpRequest();
- XMLHttpReq.open("GET",url,true);
- XMLHttpReq.onreadystatechange=processResponse;//指定响应函数
- XMLHttpReq.send(null);//发送请求
- }
- //处理返回信息函数
- functionprocessResponse(){
- if(XMLHttpReq.readyState==4){//判断对象状态
- //window.alert(XMLHttpReq.status);测试
- if(XMLHttpReq.status==200){//信息已经成功返回,开始处理信息
- varres=XMLHttpReq.responseXML.getElementsByTagName("res")[0].firstChild.data;
- window.alert(res);
- }else{//页面不正常
- window.alert("您所请求的页面有异常。");
- }
- }
- }
- //身份验证函数
- functionuserCheck(){
- varuname=document.myform.uname.value;
- varpsw=document.myform.psw.value;
- if(uname==""){
- window.alert("用户名不能为空。");
- document.myform.uname.focus();
- returnfalse;
- }else{
- sendRequest('loginAjax?uname='+uname+'&psw='+psw);
- }
- }
- </script>
- <bodyvLink="#006666"link="#003366"bgColor="#E0F0F8">
- <imgheight="33"src="<%=request.getContextPath()%>/images/enter.gif"
- width="148">
- <formaction=""method="post"name="myform">
- 用户名:<inputsize="15"name="uname">
- <p>密码:<inputtype="password"size="15"name="psw">
- <p><inputtype="button"value="登录Ajax"οnclick=userCheck();>
- </form>
2.p21.loginAction.java
- packagep21;
- importjava.io.IOException;
- importjava.io.PrintWriter;
- importjavax.servlet.ServletConfig;
- importjavax.servlet.ServletException;
- importjavax.servlet.http.HttpServlet;
- importjavax.servlet.http.HttpServletRequest;
- importjavax.servlet.http.HttpServletResponse;
- publicclassLoginActionextendsHttpServlet{
- privatestaticfinallongserialVersionUID=1L;
- publicvoidinit(ServletConfigconfig)throwsServletException{
- }
- /*
- *处理<GET>请求方法.
- */
- protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
- throwsServletException,IOException{
- //设置接收信息的字符集
- request.setCharacterEncoding("UTF-8");
- //接收浏览器端提交的信息
- Stringuname=request.getParameter("uname");
- Stringpsw=request.getParameter("psw");
- //设置输出信息的格式及字符集
- response.setContentType("text/xml;charset=UTF-8");
- response.setHeader("Cache-Control","no-cache");
- //创建输出流对象
- PrintWriterout=response.getWriter();
- //依据验证结果输出不同的数据信息
- out.println("<response>");
- System.out.println("来到servlet");
- if(uname.equals("nothing")&&psw.equals("123")){
- out.println("<res>"+"热烈的欢迎您!"+"</res>");
- }else{
- out.println("<res>"+"对不起,登录失败!"+"</res>");
- }
- out.println("</response>");
- out.close();
- }
- /*
- *处理<POST>请求方法.
- */
- protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
- throwsServletException,IOException{
- doGet(request,response);
- }
- }
3.web.xml配置
- <servlet>
- <servlet-name>loginAjax</servlet-name>
- <servlet-class>p21.LoginAction</servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>loginAjax</servlet-name>
- <url-pattern>/loginAjax</url-pattern>
- </servlet-mapping>