greatjone

BlogJava 联系 聚合 管理
  7 Posts :: 24 Stories :: 3 Comments :: 0 Trackbacks

jsp页面代码如下:

 1<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
 2    pageEncoding="gbk"
%>
 3<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4<html>
 5<head>
 6<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 7<title>login jsp</title>
 8<script type="text/javascript">
 9    var xhr;
10    function submit(){        
11        var username = document.getElementById("username");
12        var password = document.getElementById("password");    
13        
14        //1.创建XMLHttpRequest对象                
15        if(window.XMLHttpRequest){
16            //IE7,IE8,Firefox,Mozilla,Safari,Opera支持这种直接的创建方式
17            xhr = new XMLHttpRequest();
18            //如果服务器端发送过来的数据没有MimeType头的话,浏览器可能无法正常工作
19            //所以要加上如下代码
20            if(xhr.overrideMineType){
21                xhr.overrideMineType("text/xml")
22            }

23        }
else if(window.ActiveXObject){
24            //IE6,IE5.5,IE5由于这些版本在创建XMLHttpRequest时所用控件不同,所以采用如下方式
25            var activexName = ["MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.5.0","MSXML2.XMLHTTP.4.0",
26                                "MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
27            for(var i=0;i<activexName.length;i++){
28                try{
29                    xhr = new ActiveXObject(activexName[i]);//如果不能创建它会抛出一个异常
30                    break;//如果创建成功,则跳出循环
31                }
catch(e){}            
32            }

33        }

34        if(xhr == undefined || xhr == null){
35            alert("当前浏览器不支持创建XMLHttpRequest对象");
36            return;
37        }

38        
39        // 2.注册回调函数
40        xhr.onreadystatechange = callback;    //注意这个回调函数名不能加括号
41        
42        //3.设置与服务器进行交互的一些参数        
43        /*
44            //采用GET方式与服务端交互
45            xhr.open("GET","login.do?username="+username.value+"&password="+password.value,true)
46            //4.设置向服务器端发送的数据,启动与服务器的交互
47            xhr.send(null);        
48        */

49        //采用POST方式与服务端交互
50        xhr.open("POST","login.do",true)
51        //采用POST方式需要增加如下设置
52        xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
53        //4.设置向服务器端发送的数据,启动与服务器的交互
54        xhr.send("username="+username.value+"&password="+password.value);    
55        
56    }

57    
58    function callback(){
59        //5.判断与服务器端的交互是否完成,还要判断服务器端是否正确返回了数据
60        if(xhr.readyState==4){//表示交互已完成
61            if(xhr.status==200){//表示正确返回了数据            
62                //纯文本数据的接受方法
63                var msg = xhr.responseText;                        
64                var tt = document.getElementById("message");
65                tt.innerHTML=msg;    
66                /*
67                  //XML数据对应的DOM对象的接受方法    
68                    注意它的使用前提是,服务器端需要设置content-type为text/xml
69                    var domXml = xhr.responseXML;
70                    //得到这个Dom之后,得判别返回的XML数据的正确性
71                    var rootElement = domXml.documentElement;
72                    if(rootElement == null || rootElement.nodeName != ""){
73                    
74                    }else{
75                        //数据正确返回时的代码处理
76                    }
77                */
            
78            }
            
79        }
        
80    }
    
81
</script>
82</head>
83<body>
84    username:<input type="text" id="username" /><br/>
85    password:<input type="password" id="password" /><br/>
86    <input type="button" value="submit" onclick="submit()" />
87    <div id="message"></div>
88</body>
89</html>
与之相关的服务器代码如下,关于这个Servelet类的配置在此省略。
 1package per.ajax.web;
 2
 3import java.io.IOException;
 4import java.io.PrintWriter;
 5
 6import javax.servlet.ServletException;
 7import javax.servlet.http.HttpServlet;
 8import javax.servlet.http.HttpServletRequest;
 9import javax.servlet.http.HttpServletResponse;
10
11public class LoginServlet extends HttpServlet {
12
13    @Override
14    public void service(HttpServletRequest request, HttpServletResponse response)
15            throws ServletException, IOException {
16        String username = request.getParameter("username");
17        String password = request.getParameter("password");
18        if(!"jone".equals(username)||!"jone".equals(password)){
19            response.setContentType("text/html; charset=ISO-8859-1");
20            PrintWriter pw = response.getWriter();
21            pw.print("<font color='red'>username or password is error!</font>");
22        }
        
23    }
        
24}

posted on 2010-10-13 12:44 jone 阅读(101) 评论(0)  编辑  收藏 所属分类: Ajax

只有注册用户登录后才能发表评论。


网站导航: