1.view(loginAjax.jsp)
- <%@ page contentType="text/html;charset=UTF-8" language="java"%>
- <head>
- <META http-equiv=Content-Type content="text/html; charset=UTF-8">
- </head>
- <script language="javascript">
- var XMLHttpReq = false;
- //创建XMLHttpRequest对象
- function createXMLHttpRequest() {
- if (window.XMLHttpRequest) { //Mozilla 浏览器
- XMLHttpReq = new XMLHttpRequest();
- } else if (window.ActiveXObject) { // IE浏览器
- try {
- XMLHttpReq = new ActiveXObject("Msxml2.XMLHTTP");
- } catch (e) {
- try {
- XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
- } catch (e) {
- }
- }
- }
- }
- //发送请求函数
- function sendRequest(url) {
- createXMLHttpRequest();
- XMLHttpReq.open("GET", url, true);
- XMLHttpReq.onreadystatechange = processResponse;//指定响应函数
- XMLHttpReq.send(null); // 发送请求
- }
- // 处理返回信息函数
- function processResponse() {
- if (XMLHttpReq.readyState == 4) { // 判断对象状态
- // window.alert(XMLHttpReq.status); 测试
- if (XMLHttpReq.status == 200) { // 信息已经成功返回,开始处理信息
- var res = XMLHttpReq.responseXML.getElementsByTagName("res")[0].firstChild.data;
- window.alert(res);
- } else { //页面不正常
- window.alert("您所请求的页面有异常。");
- }
- }
- }
- // 身份验证函数
- function userCheck() {
- var uname = document.myform.uname.value;
- var psw = document.myform.psw.value;
- if (uname == "") {
- window.alert("用户名不能为空。");
- document.myform.uname.focus();
- return false;
- } else {
- sendRequest('loginAjax?uname=' + uname + '&psw=' + psw);
- }
- }
- </script>
- <body vLink="#006666" link="#003366" bgColor="#E0F0F8">
- <img height="33" src="<%=request.getContextPath()%>/images/enter.gif"
- width="148">
- <form action="" method="post" name="myform">
- 用户名:<input size="15" name="uname">
- <p>密 码:<input type="password" size="15" name="psw">
- <p><input type="button" value="登录Ajax" οnclick=userCheck();>
- </form>
2.p21.loginAction.java
- package p21;
- import java.io.IOException;
- import java.io.PrintWriter;
- import javax.servlet.ServletConfig;
- import javax.servlet.ServletException;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- public class LoginAction extends HttpServlet {
- private static final long serialVersionUID = 1L;
- public void init(ServletConfig config) throws ServletException {
- }
- /*
- * 处理<GET> 请求方法.
- */
- protected void doGet(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- //设置接收信息的字符集
- request.setCharacterEncoding("UTF-8");
- //接收浏览器端提交的信息
- String uname = request.getParameter("uname");
- String psw = request.getParameter("psw");
- //设置输出信息的格式及字符集
- response.setContentType("text/xml; charset=UTF-8");
- response.setHeader("Cache-Control", "no-cache");
- //创建输出流对象
- PrintWriter out = response.getWriter();
- //依据验证结果输出不同的数据信息
- out.println("<response>");
- System.out.println("来到servlet");
- if(uname.equals("nothing") && psw.equals("123")){
- out.println("<res>" + "热烈的欢迎您!" + "</res>");
- }else{
- out.println("<res>" + "对不起,登录失败!" + "</res>");
- }
- out.println("</response>");
- out.close();
- }
- /*
- * 处理<POST> 请求方法.
- */
- protected void doPost(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- doGet(request, response);
- }
- }
3.web.xml配置
- <servlet>
- <servlet-name>loginAjax</servlet-name>
- <servlet-class>p21.LoginAction</servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>loginAjax</servlet-name>
- <url-pattern>/loginAjax</url-pattern>
- </servlet-mapping>