servlet+jquery实现ajax

项目结构:

index.html:

<!DOCTYPE html>
<html>
    <head>
        <title>ajax实例</title>
        <meta charset="UTF-8">
        <script type="text/javascript" src="js/jquery-1.10.1.min.js"></script>
        <script type="text/javascript">
   		    $(function(){
   			    $("#userName").blur(function(){
   				    var userName = $("#userName").val();
   				    if(userName.length == 0){
   					    $("#unMess").html("<font color=red>用户名不能为空</font>");
   				    }else{
   					    $.ajax({
   						     type: "POST",
   						     url: "UserServlet",
                             data: {userName:userName},
                             dataType:"json", //返回类型
                             success: function(r){
                         	    //假如上面的dataType写成dataType:"html", 那么就要进行下面的转换
                         		    //将json字符串转换成对象的两种方法:
                         		    //方法一: r= eval("(" + r + ")");
                         		    //方法二: r=$.parseJSON(r);
                         	    console.info(r);
                         	    if(r.unMess == "1"){
                         		    $("#unMess").html("<font color=green>恭喜,用户名正确</font>");
                         	    }else{
                         		    $("#unMess").html("<font color=red>抱歉,用户名错误</font>");
                         	    }
                             }
   				        });
   				    }
   			    });
   		    });
      </script>
    </head>

    <body>
        <p>
    	    <font color=red>提示:</font>1、文本框得到焦点,没有输入,失去焦点后,显示”用户名不能为空“<br />
    		      2、文本框得到焦点,只有输入”dgh“,失去焦点后,才会显示”恭喜,用户名正确“,否则显示”抱歉,用户名错误“<br />
        </p>
        <label for="userName">用户名:</label>  <input type="text"  id="userName"  name="userName" /><span id="unMess"></span>
    </body>
</html>

web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
	xmlns="http://java.sun.com/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
	http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
  <display-name></display-name>
  <servlet>
    <servlet-name>UserServlet</servlet-name>
    <servlet-class>com.dgh.servlet.UserServlet</servlet-class>
  </servlet>

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

  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

UserServlet.java:

package com.dgh.servlet;

import java.io.IOException;
import java.io.PrintWriter;

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

public class UserServlet extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		doPost(request, response);
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		//设置字符编码
		request.setCharacterEncoding("utf-8");
		response.setContentType("text/html;charset=utf-8");
		String userName = request.getParameter("userName");
		String  unMess = "";
		if("dgh".equals(userName)){
			//返回1表示用户名正确
			//{"":"","":""}这是json格式的字符串,在每个双引号之前要加转义字符"\"
			response.getWriter().write("{\"unMess\":\"1\"}");
		}else {
			//返回0表示用户名错误
			//{"":"","":""}这是json格式的字符串,在每个双引号之前要加转义字符"\"
			response.getWriter().write("{\"unMess\":\"0\"}");
		}
	}
}

index.html页面效果:

时间: 2024-07-31 16:12:19

servlet+jquery实现ajax的相关文章

当使用servlet输出json时,浏览器端jquery的ajax遇到parse error的问题

在使用jquery的ajax进行请求发送并由服务端的servlet返回json格式的数据内容时,假设输出内容没有正确设置,会遇到client浏览器报告parse error的问题.这个问题的解决仅仅须要注意下面两点: 第一.在servlet输出json格式的内容是请在response.getWriter()之前运行response.setContentType("application/json"); 第二,输出的json格式字符串一定是使用双引號包括的( 比方:{"user

jQuery与Ajax的应用

Ajax的全称:Asynchronous JavaScript and XML (异步Javascript和XML) 传统模式中,数据提交通过表单方式实现,数据的获取是靠全页面刷新来重新获取整页的内容.而Ajax模式只是通过XMLHttpRequest对象向服务器端提交数据,即按需发送.因为Ajax需要与Web服务器端进行交互,所以用个服务器,我这里用的是Tomcat.  1. 传统Js的Ajax操作 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0

Jquery的AJAX应用详解

案例一:取得服务端当前时间 简单形式:jQuery对象.load(url),返回结果自动添加到jQuery对象代表的标签中间 <body> 当前时间: <span id="time"></span><br /> <input type="button" value="获取时间" /> <script type="text/javascript"> $(&q

jquery 或ajax返回的中文数据总是乱码解决方案

要将Servlet中的 response.setContentType("text/html;charset=utf-8")这行代码放在 PrintWriter out = response.getWriter()之前. jquery 或ajax返回的中文数据总是乱码解决方案,布布扣,bubuko.com

7、jQuery的Ajax与Java交互带加载图片

1.jQuery的Ajax与Java交互带加载图片 1.1 html代码 <body> <div id="main"> <button id="myBut">Ajax获取数据</button> <div id="container"> <img src="./img/load.jpg" id="myimg"> </div>

5、jQuery的Ajax与Java通过GET方式交互

1.jQuery.get( url, [data], [callback] ):使用GET方式来进行异步请求 1.1 参数:              url (String) :  发送请求的URL地址.              data (Map) : (可选) 要发送给服务器的数据,以 Key/value 的键值对形式表示,会做为jQueryString附加到请求URL中.              callback (Function) : (可选) 载入成功时回调函数(只有当Resp

Struts2 整合jQuery实现Ajax功能(2)

1.1.1   Action利用struts2-json-plugin-X.X.X.jar响应Json格式信息: 1.      function removerecordbyid(recordid){ 2.              $("#showallrecord table tr").each( 3.              function(){ 4.                var seq=parseInt($( this ).children( "td&

jquery json ajax三级联动

province_city_area.jsp 1 <%@ page language="java" pageEncoding="UTF-8"%> 2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 3 <html> 4 <head> 5 <script type="text/javascript"

6、jQuery的Ajax与Java通过POST方式交互

1. jQuery.post( url, [data], [callback], [type] ) :使用POST方式来进行异步请求          1.1  参数               url (String) : 发送请求的URL地址.              data (Map) : (可选) 要发送给服务器的数据,以 Key/value 的键值对形式表示.              callback (Function) : (可选) 载入成功时回调函数(只有当Response