ajax

第一步:web.xml中配置拦截
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <servlet> <servlet-name>Action</servlet-name> <servlet-class>web.Action</servlet-class> </servlet> <servlet-mapping> <servlet-name>Action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> </web-app>
第2步:新建实体类。
package entity; public class user { private String name; private String password; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
第3步:新建action控制层
package web; 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 Action extends HttpServlet{ @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String uri = req.getRequestURI(); String path =uri.substring(uri.lastIndexOf("/"),uri.lastIndexOf(".")); resp.setContentType("text/html;charset=utf-8"); PrintWriter out = resp.getWriter(); if(path.equals("/check")){ String username = req.getParameter("name"); if(username.equals("zs")){ out.print("zhanyong"); }else{ out.print("key"); } } out.close(); } }
第4步:新建jsp文件
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <style type="text/css"> .s{ color: red; font-size: 24px; } </style> <script type="text/javascript"> function getXmlHttpRequest(){ var xhr = null; if((typeof XMLHttpRequest)!='undefined'){ xhr = new XMLHttpRequest(); }else { xhr= new ActiveXObject('Microsoft.XMLHttp'); } return xhr; } function check(){ var xhr=getXmlHttpRequest(); var name=document.getElementById("username").value; xhr.open('get', 'check.do?name='+name, true);//'ction.do? 参数名='+参数值 xhr.onreadystatechange= function(){ /* readyState 0——未初始化 ,对象已建立,未初始化 1——初始化 , 尚没有调用send方法 2——发送数据 ,send方法已调用,当前状态Http头未知 3——发送数据中,已接受部分数据,因为响应及http头不全,这时通过responseBody和responseText获取部分数据会出现错误为 4—— (完成) 数据接收完毕,此时可以通过通过responseBody和responseText获取完整的回应数据 */ if(xhr.readyState==4){ /* status属性返回当前请求的http状态码, 此属性仅当数据发送并接收完毕后才可获取 200 OK 一切正常,对GET和POST请求的应答文档跟在后面。 */ if(xhr.status==200){ var txt = xhr.responseText; document.getElementById("username_msg").innerHTML = txt; } } }; xhr.send(null); } </script> </head> <body> 用户名:<input id="username" onblur="check();"/> <span class="s" id="username_msg"></span> </body> </html>
浙公网安备 33010602011771号