SSH项目下,AJAX的实现

第一次尝试ajax,第一次尝试SSH。收货颇丰。

最主要还是发现javascript还是比较严谨的语言,一个字母的错误,一个大小写的错误,

都能让自己抓狂。比如:.readyState==4-------》.readystate==4。

XML、和json格式待续。。。。。

把自己的主要代码贴一下:

ajax:

<script type="text/javascript" language="javascript" charset="utf-8">
        var http_request;
        function sendRequest(){
            var u=document.getElementById("username").value;
            //var u=document.getElementsByTagName("username").value ;
            
            if(window.ActiveXObject){
                http_request=new ActiveXObject("Microsoft.XMLHTTP");
            
            }else{
                http_request=new XMLHttpRequest();
            }
            window.alert(http_request);
            if(http_request){
                var url="check.action";
                http_request.open("post",url,true);
                http_request.setRequestHeader('Content-type','application/x-www-form-urlencoded'); 
                http_request.onreadystatechange=chuli;
                http_request.send("username="+u);
                window.alert(u);
                }
            }
            function chuli(){
            
                if(http_request.readyState==4){
                window.alert(http_request.readyState);
                    if(http_request.status==200){
                        var req=http_request.responseText;
                        window.alert(req);
                        if(req=="fail"){
                    //提示该用户名不可用
                    document.getElementById("myreq").value="该用户不存在";
                    }else{
                    document.getElementById("myreq").value="恭喜,用户名存在";
                    }
                }
            }
            }
    </script>

JSP页面:

<div>
    <form action="@@" method="post" id="myform">
                      <input type="text" name="username" id="username" />用户名: 
                  <input type="text" name="password" />    密码: 
                      
                      <input  type="button" value="检验" onclick="sendRequest();"/>
                      <input type="text" name="valid"  id="myreq"/>
                </form>
                
                                  <br/>
                  用户名: <input type="text" name="username2" />
                    用户密码:<input type="password" name="password2"><br>
                    电子邮件:<input type="text" name="email"><br/>
                    <input type="submit" value="用户注册"/>
                    
                    </div>

struts.xml:

<action name="check" class="checkNameAction">
    
        </action>

applicationContext.xml:

<bean id="checkNameAction" class="com.action.user.CheckNameAction" scope="prototype">
        <property name="service">
            <ref bean="userService"></ref>
        </property>
    </bean>

CheckNameAction.java:

public String execute() throws Exception {
        username=ServletActionContext.getRequest().getParameter("username") ;

        if (this.service.checkUser(username)) {
            HttpServletResponse response = ServletActionContext.getResponse();
            response.setContentType("text/html;charset=utf-8");
            PrintWriter out = response.getWriter();
            out.print("success"); 
        }
        else {
            HttpServletResponse response = ServletActionContext.getResponse();
            response.setContentType("text/html;charset=utf-8");
            PrintWriter out = response.getWriter();
            out.print("fail"); //将信息写入response
        }
        return null;
    }

 out是输出字符流,即servlet接受到request请求后,servlet使用out来返回结果,不管客户端是什么(浏览器或者httpclient 或者别的serlvet等等),它都和客户端建立一个流输出管道,然后把字符流输出给请求端。


原文地址:https://www.cnblogs.com/skyball/p/4574103.html