jquery访问servlet并返回数据到页面的方法

本文实例讲述了jquery访问servlet并返回数据到页面的方法。分享给大家供大家参考。具体实现方法如下:

1. servlet:AjaxServlet.java如下:

代码如下:

package com.panlong.servlet;

import java.io.IOException; 
import java.io.PrintWriter; 
import java.net.URLDecoder;

import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse;

public class AjaxServlet extends HttpServlet { 
    private static final long serialVersionUID = 1L; 
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) 
            throws ServletException, IOException { 
        Integer total = (Integer) req.getSession().getAttribute("total"); 
        int temp = 0; 
        if(total == null ){ 
            temp = 1; 
        }else{ 
            temp = total.intValue() + 1; 
        } 
    req.getSession().setAttribute("total",temp); 
        try { 
            //1.取参数 
            resp.setContentType("text/html;charset=GBK"); 
            PrintWriter out = resp.getWriter(); 
            String old = req.getParameter("name"); 
            //2.检查参数是否有问题 
            //String name = new String(old.getBytes("iso8859-1"),"UTF-8"); 
            String name = URLDecoder.decode(old,"UTF-8"); 
            if("".equals(old) || old == null){ 
                out.println("用户名必须输入"); 
            }else{ 
                if("liling".equals(name)){ 
                    out.println("恭喜登录成功"); 
                    return; 
                }else{ 
                    out.println("该用户名未注册,您可以注册["+name+"]这个用户名"+temp); 
                } 
            } 
        } catch (Exception e) { 
            // TODO Auto-generated catch block 
            e.printStackTrace(); 
        } 
        //3.检验操作 
    } 
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) 
            throws ServletException, IOException { 
        doGet(req, resp); 
    } 
}

2. verify.js如下:

代码如下:

function verify(){ 
    //解决中文乱码问题的方法1,页面端发出的数据作一次encodeURI,服务端使用new String(old.getBytes("iso8859-1"),"UTF-8"); 
    //解决中文乱码问题的方法2,页面端发出的数据作两次encodeURI,服务端使用String name = URLDecoder.decode(old,"UTF-8"); 
    var url = "servlet/AjaxServlet?name="+encodeURI(encodeURI($("#userName").val())); 
    url = convertURL(url); 
    $.get(url,null,function(data){ 
        $("#result").html(data); 
    }); 

//给url地址增加时间蒫,难过浏览器,不读取缓存 
function convertURL(url){ 
    //获取时间戳 
    var timstamp = (new Date()).valueOf(); 
    //将时间戳信息拼接到url上 
    if(url.indexOf("?") >=0){ 
        url = url + "&t=" + timstamp; 
    }else{ 
        url = url + "?t=" + timstamp; 
    } 
    return url; 
}

3. 前台页面如下:

代码如下:

<!DOCTYPE html> 
<html> 
  <head> 
    <title>AJAX实例</title> 
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> 
    <meta http-equiv="description" content="this is my page"> 
    <meta http-equiv="content-type" content="text/html; charset=GBK"> 
    <script type="text/javascript" src="js/verify.js"></script> 
    <script type="text/javascript" src="js/jquery.js"></script> 
    <!--<link rel="stylesheet" type="text/css" href="./styles.css">--> 
  </head> 
  <body> 
        <font color="blue" size="2">请输入用户名:</font>  
         <input type="text" id="userName" /><font color="red" size="2"><span id="result" >*</span></font><br/><br/> 
         <!-- <div id="result"></div> --> 
          <input type="submit" name="提交" value="提交"  onclick="verify()"/> 
  </body>
</html>

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

(0)

相关推荐

  • java中Servlet处理乱码的方法

    今天在部署一个webservices程序的时候,从页面获取数据的servlet出现了乱码问题,在servlet中我已经把request.setCharacterEncoding("GB2312");这段文字加入到代码中去,但是还是出现乱麻问题. 到网上找资料,如下:JAVA是Unicode编码,你先转换成ISO8859-1,然后再转换成GBK或是GB2312. java 代码 复制代码 代码如下: request.setCharacterEncoding("ISO8859-1

  • java中servlet实现登录验证的方法

    login.java: 复制代码 代码如下: package com.ncu;import java.io.PrintWriter; import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class login extends HttpServlet{ public void do

  • 基于HttpServletRequest 相关常用方法的应用

    Referer: public void referer(HttpServletRequest request, HttpServletResponse response)throws Exception {String referer = request.getHeader("referer");if (referer == null || !referer.startsWith("http://localhost")) {response.sendRedirec

  • 实例解读Ajax与servlet交互的方法

    本文以实例形式剖析了Ajax与servlet的交互,并且代码中有较为详细的注释,以帮助大家阅读理解.具体的实现方法如下: 1.JavaScript部分 var req; /*通过异步传输XMLHTTP发送参数到ajaxServlet,返回符合条件的XML文档*/ var url; function getResult() { var f=document.getElementById("form_pub"); var key=f.s.options[f.s.selectedIndex]

  • 访问JSP文件或者Servlet文件时提示下载的解决方法

    如下图所示:同样的程序有的浏览器出错,有的浏览器不出错.错误的原因是设置MIME类型的代码有误. 如果是JSP文件,查看文件头: 复制代码 代码如下: <%@ page contentType="text/html;charset=gb2312"%> 如果是Servlet文件,查看: 复制代码 代码如下: response.setContentType("text/html;charset=gb2312");

  • 基于HttpServletResponse 相关常用方法的应用

    public void filedownload(HttpServletResponse response) throws Exception { ServletContext context = this.getServletContext(); String path = context.getRealPath("/download/awf.jpg"); String filename = path.substring(path.lastIndexOf("\\"

  • js调用后台servlet方法实例

    1.使用document.form.action方式 相关源码如下: *.js [javascript] 复制代码 代码如下: <span style="white-space:pre">  </span> document.getElementById("sendPerson").value = SendPerson;  document.getElementById("currentTime").value = cur

  • java servlet 几种页面跳转的方法

    Servlet: 当然,在servlet中,一般跳转都发生在doGet, doPost等方法里面. 1) redirect 方式 response.sendRedirect("/a.jsp"); 页面的路径是相对路径.sendRedirect可以将页面跳转到任何页面,不一定局限于本web应用中,如: response.sendRedirect("http://www.jb51.net"); 跳转后浏览器地址栏变化. 这种方式要传值出去的话,只能在url中带param

  • 利用JQuery和Servlet实现跨域提交请求示例分享

    原理:JavaScript的Ajax不可以跨域,但是可以通过向本地的一个Servlet发出请求,由Servlet完成跨域.再把远程的结构返回给客户端.这样Ajax就可以跨域了.在后面,再发一个PHP版本的,请大家关注啊.下面是代码 JS代码: 注意:在Post方式时,param1和param2为向远程发送的参数值,可以有多个. 复制代码 代码如下: //GET方式function reqeustCrossDomainProxyGet(){    var url = "http://www.bai

  • jquery访问servlet并返回数据到页面的方法

    本文实例讲述了jquery访问servlet并返回数据到页面的方法.分享给大家供大家参考.具体实现方法如下: 1. servlet:AjaxServlet.java如下: 复制代码 代码如下: package com.panlong.servlet; import java.io.IOException;  import java.io.PrintWriter;  import java.net.URLDecoder; import javax.servlet.ServletException;

  • jQuery访问json文件中数据的方法示例

    本文实例讲述了jQuery访问json文件中数据的方法.分享给大家供大家参考,具体如下: 有时候我们可能需要用到json文件存储数据,然后通过前台语言直接进行访问. 首先是json文件: { "管道": [ { "ElementId": "标识号", "GISID": "GISID", "Label": "编号", "StartNodeID":&q

  • SpringBoot@Aspect 打印访问请求和返回数据方式

    目录 SpringBoot@Aspect 打印访问请求和返回数据 aspect:第一种方式 aspect:第二种方式 SpringBoot @Aspect注解详情 1.添加maven依赖注解 2.添加AOP类 3.设置切面点 4.配置前置通知 5.配置后置返回通知 6.后置异常通知 7.后置最终通知 8.环绕通知 SpringBoot@Aspect 打印访问请求和返回数据 为什么要用aspect, 使用aspect 可以使记录日志的功能面向切面,这样可以降低代码的耦合性.提供了两种方式对输入输出

  • JS基于Location实现访问Url、重定向及刷新页面的方法分析

    本文实例讲述了JS基于Location实现访问Url.重定向及刷新页面的方法.分享给大家供大家参考,具体如下: js通过Location实现访问Url,重定向,刷新页 web中经常会使用到刷新页面,访问url.重定向请求的功能. javascript提供了许多方法访问,修改当前用户在浏览器中访问的url.所有的这些技术都是基于location对象的.它是作为window对象的属性.你可以生成一个包含当前url的新location对象: var currentURL=window.location

  • 详解直接访问WEB-INF目录下的JSP页面的方法

    WEB-INF目录下的JSP页面不能通过地址栏直接访问,WEB-INF目录下的文件不能直接被访问主要是出于安全考虑,当然如果不用考虑安全性的话,你可以直接把JSP页面放到WEB-INF外的webapp目录下,这样也可以直接访问.下面说下如何直接访问WEB-INF目录下的jsp页面 可以通过转发的方式访问,我用的是Controller来进行转发,如下: package com.sogou.baike.controller; import org.apache.log4j.Logger; impor

  • java多线程编程之从线程返回数据的两种方法

    一.通过类变量和方法返回数据 使用这种方法返回数据需要在调用start方法后才能通过类变量或方法得到数据.让我们先来看看例程2-13会得到什么结果. 复制代码 代码如下: package mythread; public class MyThread extends Thread{    private String value1;    private String value2; public void run()    {        value1 = "通过成员变量返回数据"

  • 用Jquery访问WebService并返回Json的代码第1/3页

    在我们的应用中一般会是这样的,使用了jquery作为客户端框架,ajax请求也通常返回html或者json.html这里就不讨论了.返回json一般都是搞一个handler.ashx来处理请求,拼凑字符串来返回json.从而放弃了ws,因为ws返回的是xml,使用起来不方便. 所以我觉着比较完美的解决方法是让ws返回json而且不用asp.net ajax的客户端框是比较理想的解决方法. 通过观测发现asp.net ajax的客户端框架请求webservice的时候返回的是json,为什么web

  • 对Layer弹窗使用及返回数据接收的实例详解

    Layer做为弹窗,主页面代码: 注意1. callback()方法 返回字符串,再data:JSON.parse(res)转为ajax提交时的json参数 注意2. textarea 上使用append方法没有效果,改写: var str = $("#area").val() + "\n"+d; $("#area").val(str); //引入js 必须要有(1.8以上版本) jquery <script src="__PUB

  • jQuery处理xml格式的返回数据(实例解析)

    在这个示例程序中,我将使用$.ajax()方法,使用$.get()方法也可以,但我觉得$.ajax()更好一些,代码更容易懂,并且也不怎么复杂. 复制代码 代码如下: //定义用户名校验的方法function verify(){    //首先测试一下页面的按钮按下,可以调用这个方法    //使用javascript的alert方法,显示一个探出提示框    //alert("按钮被点击了!!!");    //1.获取文本框中的内容    //document.getElement

  • 使用EVAL处理jqchart jquery 折线图返回数据无效的解决办法

    eval函数可以把一些处理过程序代码进行解析从而达到可以执行的一个状态,查了很多帖子,jqchart插件做折线图时,处理返回数据时全都是eval,但我怎么也弄不出来,后来发现: 1.根本不需要eval处理,直接截取字符串即可(返回值要拼接好): 2.处理好的字符串放进series的data里要加上[]; 下面是代码: html页面<body>标签里面只放了一个<div id="jqChart" style="width: 500px; height: 300

随机推荐