网络编程 
首页 > 网络编程 > 浏览文章

jsp+ajax发送GET请求的方法

(编辑:jimmy 日期: 2024/11/26 浏览:3 次 )

本文实例讲述了ajax发送GET请求,然后通过jsp页面来接收处理的实现方法。分享给大家供大家参考。具体实现方法如下:

Ajax发送GET请求

这里用一个实例演示Ajax发送get请求,实例具体要求为一个注册页面,当用户填写完用户名称时,该输入框失去焦点后会通过Ajax向后台发送验证信息,如果用户名不是admin则通过验证,否则不通过验证。

下面先看JSP页面具体信息:
复制代码 代码如下:<form action="servlet/LoginServlet" method="post">
    <table>
        <tr>
            <td>用户账号:</td>
            <td><input type="text" name="username" onblur="checkUser(this)"/></td>
        </tr>
        <tr>
            <td>用户密码:</td>
            <td><input type="password" name="password"/></td>
        </tr>
        <tr>
            <td><input type="submit" value="注册"/></td>
            <td><input type="reset" value="重置"></td>
        </tr>
    </table>
</form>

这里后台处理信息用的是Servlet进行处理

首先看web.xml配置信息
复制代码 代码如下:<servlet>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>login.LoginServlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/servlet/LoginServlet</url-pattern>
</servlet-mapping>

然后看具体的servlet类的doGet方法
复制代码 代码如下:public void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

        response.setContentType("text/html;charaet=UTF-8");
        PrintWriter out = response.getWriter();
        String name=request.getParameter("username");
        System.out.println(name);
        if(name.equals("admin"))
            out.print(false);
        else
            out.print(true);
        out.flush();
        out.close();
}

在Servlet类中做一个简单的验证。

在JSP的表单中,对输入用户名称的输入框设置了失去焦点的事件,也就是onblur事件。下面看javascript代码。
复制代码 代码如下:<script type="text/javascript">
    //创建XMLHttpRequest
    function createXmlHttpRequest(){
        if(window.XMLHttpRequest){
            return new XMLHttpRequest();
        }else{
            return new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
    //当用户账号输入框失去焦点时调用该方法
    function checkUser(obj){
        //获取输入框输入的值
        var user = obj.value;
        //如果输入框中的值为空,那么弹窗提示,并且让该输入框获得焦点
        if(!user){
            alert("用户名不能为空!");
            obj.focus();
            return;
        }
        //不为空时,使用Ajax请求向后台发送信息,验证该用户名是否可用
        //get请求字符串
        var url="servlet/LoginServlet"+user;
        //调用方法创建XMLHttpRequest对象
        XmlHttpRequest = createXmlHttpRequest();
        //设置回调函数
        XmlHttpRequest.onreadystatechange=finish;
        //初始化xmlhttprequest
        XmlHttpRequest.open("GET",url,true);
        //发送请求
        XmlHttpRequest.send(null);
    }
    //回调函数
    function finish(){
        if(XmlHttpRequest.readyState == 4&& XmlHttpRequest.status == 200){
            var result = XmlHttpRequest.responseText;
            if(result =="true"){
                alert("用户名可用!");
            }else{
                alert("用户名不可用!");
            }
        }
    }
</script>

希望本文所述对大家的jsp+Ajax程序设计有所帮助。

上一篇:jsp分页显示完整实例
下一篇:jsp中获取当前目录的方法
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 网站地图 SiteMap