邓稼先事迹:案例4-3 Ajax的响应处理

来源:百度文库 编辑:九乡新闻网 时间:2024/07/14 00:55:16
核心提示:案例 4-3 Ajax 的响应处理 在 Eclipse 中新建一个项目,项目的名称为 P43_Response 。首先,新建一个 HTML 文档,页面名称为 login.jsp 。 该页面实现的效果如图 4-5 所示。用户输入对应的登录信息,单击登录按钮,页面中将显示登录是否成功的提示信息。 图

案例4-3  Ajax的响应处理

在Eclipse中新建一个项目,项目的名称为“P43_Response”。首先,新建一个HTML文档,页面名称为“login.jsp”。 该页面实现的效果如图4-5所示。用户输入对应的登录信息,单击“登录”按钮,页面中将显示登录是否成功的提示信息。

图4-5  登录验证的效果

对应的Web页面的代码如下:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

     

 

用户名

  码:

在上面的页面中,当用户输入用户名及密码信息,单击“登录”按钮后,将调用“userCheck()”函数,在该函数中将首先获取用户填写的信息,进行最基本的数据有效性检查,如果检查通过,将借助Ajax发送请求,并等待服务器端的响应,一旦接收到服务器端的响应数据,则通过LHttpReq.responseText返回对应的数据信息,然后显示在提示窗口中。

该Web应用的配置文件web.xml对应的代码如下所示。从该配置文件中可以了解到,当浏览器端提交“login请求,服务器端类名为“classmate.LoginAction的Servlet程序进行处理。

     xmlns="http://java.sun.com/xml/ns/j2ee"

     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee

     http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

 

    

           ms1

           classmate.LoginAction

    

 

    

           ms1

           /login

    

 

 

 

    login.jsp

 

下面关注一下服务器端Servlet程序LoginAction.java中对应的程序代码。当接收到浏览器端提交的请求后,Servlet程序将首先获取浏览器端提交的用户名及密码信息,然后进行身份验证,本例中为了关注Ajax,没有引入与数据库相关的操作。

package classmate;

 

import java.io.IOException;

……

public class LoginAction extends HttpServlet {

 

      public void init(ServletConfig config) throws ServletException {

      }

 

      /*

       *  处理 请求方法

       */

      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();

          //依据验证结果输出不同的数据信息

          if(uname.equals("jenny") && psw.equals("hi")){

                out.println("热烈的欢迎您!");

          }else{

                out.println("对不起,登录失败!");

          }

          out.close();

     }

}

如果验证通过,将返回“热烈的欢迎您!”的提示,如果验证失败,将显示“对不起,登录失败!”的信息,信息是以responseText的格式返回客户端的。