jsp+ajax发送GET、POST请求教程

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?username="+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>

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?username="+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>

 

时间: 2024-10-26 14:30:43

jsp+ajax发送GET、POST请求教程的相关文章

jsp+ajax发送GET请求的方法

 本文实例讲述了ajax发送GET请求,然后通过jsp页面来接收处理的实现方法.分享给大家供大家参考.具体实现方法如下: Ajax发送GET请求 这里用一个实例演示Ajax发送get请求,实例具体要求为一个注册页面,当用户填写完用户名称时,该输入框失去焦点后会通过Ajax向后台发送验证信息,如果用户名不是admin则通过验证,否则不通过验证. 下面先看JSP页面具体信息: 代码如下: <form action="servlet/LoginServlet" method="

Ajax发送和接收请求_AJAX相关

首先Ajax的不刷新页面提交数据,现在应用非常广泛,废话不多说马上进主题!! 基本上浏览器能接收的信息,Ajax都可以接收,ex:字符串,html标签,css标签,xml格式内容,json格式内容等等..... <script> // IE浏览器 if(ActiveXObject){ // 微软目前AJAX最新版本 var ajax = new ActiveXObject("Msxm12.XMLHTTP.6.0"); }else{ // 主流浏览器 var ajax = n

Ajax发送和接收请求

首先Ajax的不刷新页面提交数据,现在应用非常广泛,废话不多说马上进主题!! 基本上浏览器能接收的信息,Ajax都可以接收,ex:字符串,html标签,css标签,xml格式内容,json格式内容等等..... <script> // IE浏览器 if(ActiveXObject){ // 微软目前AJAX最新版本 var ajax = new ActiveXObject("Msxm12.XMLHTTP.6.0"); }else{ // 主流浏览器 var ajax = n

[四天学会ajax] 学习Ajax教程第三天,Ajax 中的高级请求和响应

ajax|高级|教程|请求|响应 对于很多 Web 开发人员来说,只需要生成简单的请求并接收简单的响应即可:但是对于希望掌握 Ajax 的开发人员来说,必须要全面理解 HTTP 状态代码.就绪状态和 XMLHttpRequest 对象.在本文中,Brett McLaughlin 将向您介绍各种状态代码,并展示浏览器如何对其进行处理,本文还给出了在 Ajax 中使用的比较少见的 HTTP 请求. 在本系列的 上篇文章 中,我们将详细介绍 XMLHttpRequest 对象,它是 Ajax 应用程序

chrome-谷歌浏览器,ajax发送下载请求速度是否有限制?

问题描述 谷歌浏览器,ajax发送下载请求速度是否有限制? 如图,getFile方法请求下载266Mb的文件(部署在本地IIS上的网站下载本地文件)耗时22秒左右,大概下载速度为12Mb/s,为何本地文件下载还这么慢,求问有什么方法可以提高本地或者局域网的文件下载速度呢? 解决方案 你的网卡如果是100M的网卡,那么理论最高速度是12.5MB/s(100 / 8=12.5)另外,如果你使用的是机械硬盘,那么理论最高传输率应该相当于机械硬盘传输率的1/2还要低,不过现代机械硬盘的持续传输率可以超过

四步轻松实现ajax发送异步请求

ajax发送异步请求,供大家参考,具体内容如下 第一步(得到XMLHttpRequest) ajax其实只需要学习一个对象:XMLHttpRequest,如果掌握了它,就掌握了ajax!!! 1.得到XMLHttpRequest 大多数浏览器都支持:var xmlHttp=new XMLHttpRequest(); IE6.0:var xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); IE5.0以更早版本的IE:var xmlHttp=new A

编程-我用Ajax向后台发送了个请求,返回的数据是一个List,页面都已经打印出来了,我如何遍历他?

问题描述 我用Ajax向后台发送了个请求,返回的数据是一个List,页面都已经打印出来了,我如何遍历他? 前台代码 $.ajax( { url:'<%=path%>/complete!queryComplete.action',// 跳转到 action type:'post', //post方式提交 success:function(data) { //data是返回的数据 console.log(data);//打印这个数据,打印出的数据 上面有图大家可以看下 }, error : fun

springmvc-关于Ajax发送请求的问题

问题描述 关于Ajax发送请求的问题 发送ajax请求,响应406 后台用springMVC3.0,注解配置@ReponseBody返回json数据. 前台用了Extjs,刚开始用火狐浏览器测试,一直都OK.今天突然想起来用IE来测, 结果就出现了这个问题,然后又用GOOGLE,也是如此. 后来写了个测试页面,用jquery来发,发现也是一样的情况.火狐ok,IE和GOOELE:406 之后在controller里,取消@ResponseBody注解, 直接用response设置setconte

ajax发送请求到后台,后台更具请求参数重新绑定repeater数据源__[无效]

问题描述 第一次进入页面的时候,默认绑定了所有的数据,点击页面分类时,ajax发送请求到后台,后台更具请求参数重新绑定repeater数据源,但是页面显示内容仍然不变.页面:$.ajax({url:"<%=Request.FilePath%>?do=getPsByPTName&studentName="+studentName,cache:false,async:false,success:function(msg){}});后台stringdoss=Request