国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
案例4-3 Ajax的響應(yīng)處理
核心提示:案例 4-3 Ajax 的響應(yīng)處理 在 Eclipse 中新建一個(gè)項(xiàng)目,項(xiàng)目的名稱為 P43_Response 。首先,新建一個(gè) HTML 文檔,頁面名稱為 login.jsp 。 該頁面實(shí)現(xiàn)的效果如圖 4-5 所示。用戶輸入對應(yīng)的登錄信息,單擊登錄按鈕,頁面中將顯示登錄是否成功的提示信息。 圖

案例4-3  Ajax的響應(yīng)處理

Eclipse中新建一個(gè)項(xiàng)目,項(xiàng)目的名稱為“P43_Response”。首先,新建一個(gè)HTML文檔,頁面名稱為“login.jsp”。 該頁面實(shí)現(xiàn)的效果如圖4-5所示。用戶輸入對應(yīng)的登錄信息,單擊“登錄”按鈕,頁面中將顯示登錄是否成功的提示信息。

4-5  登錄驗(yàn)證的效果

對應(yīng)的Web頁面的代碼如下:

<%@ 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;

      //創(chuàng)建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) {}

                  }

            }

      }

      //發(fā)送請求函數(shù)

      function sendRequest(url) {

            createXMLHttpRequest();

            XMLHttpReq.open("GET", url, true);

            XMLHttpReq.onreadystatechange = processResponse;//指定響應(yīng)函數(shù)

            XMLHttpReq.send(null);  // 發(fā)送請求

      }

      // 處理返回信息函數(shù)

      function processResponse() {

      if (XMLHttpReq.readyState == 4) { // 判斷對象狀態(tài)

            if (XMLHttpReq.status == 200) { // 信息已經(jīng)成功返回,開始處理信息

                  var res=XMLHttpReq.responseText;

                     window.alert(res);

            } else { //頁面不正常

                  window.alert("您所請求的頁面有異常。");

            }

        }

    }

    // 身份驗(yàn)證函數(shù)

    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('login?uname='+ uname + '&psw=' + psw);

            }

}

 

</script>

 

<body vLink="#006666" link="#003366" bgColor="#E0F0F8">

<img height="33" src="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="登錄" onclick="userCheck()" >

</form>

在上面的頁面中,當(dāng)用戶輸入用戶名及密碼信息,單擊“登錄”按鈕后,將調(diào)用“userCheck()”函數(shù),在該函數(shù)中將首先獲取用戶填寫的信息,進(jìn)行最基本的數(shù)據(jù)有效性檢查,如果檢查通過,將借助Ajax發(fā)送請求,并等待服務(wù)器端的響應(yīng),一旦接收到服務(wù)器端的響應(yīng)數(shù)據(jù),則通過LHttpReq.responseText返回對應(yīng)的數(shù)據(jù)信息,然后顯示在提示窗口中。

Web應(yīng)用的配置文件web.xml對應(yīng)的代碼如下所示。從該配置文件中可以了解到,當(dāng)瀏覽器端提交“login請求,服務(wù)器端類名為“classmate.LoginActionServlet程序進(jìn)行處理。

<?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.4"

     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">

 

     <servlet>

           <servlet-name>ms1</servlet-name>

           <servlet-class>classmate.LoginAction</servlet-class>

     </servlet>

 

     <servlet-mapping>

           <servlet-name>ms1</servlet-name>

           <url-pattern>/login</url-pattern>

     </servlet-mapping>

 

 

<!-- The Welcome File List -->

  <welcome-file-list>

    <welcome-file>login.jsp</welcome-file>

  </welcome-file-list>

</web-app>

下面關(guān)注一下服務(wù)器端Servlet程序LoginAction.java中對應(yīng)的程序代碼。當(dāng)接收到瀏覽器端提交的請求后,Servlet程序?qū)⑹紫全@取瀏覽器端提交的用戶名及密碼信息,然后進(jìn)行身份驗(yàn)證,本例中為了關(guān)注Ajax,沒有引入與數(shù)據(jù)庫相關(guān)的操作。

package classmate;

 

import java.io.IOException;

……

public class LoginAction extends HttpServlet {

 

      public void init(ServletConfig config) throws ServletException {

      }

 

      /*

       *  處理<GET> 請求方法

       */

      protected void doGet(HttpServletRequest request, HttpServletResponse response)

      throws ServletException, IOException {

      //設(shè)置接收信息的字符集

      request.setCharacterEncoding("UTF-8");

      //接收瀏覽器端提交的信息

            String uname = request.getParameter("uname");

            String psw = request.getParameter("psw");     

            //設(shè)置輸出信息的格式及字符集       

          response.setContentType("text/xml; charset=UTF-8");

          response.setHeader("Cache-Control", "no-cache");

          //創(chuàng)建輸出流對象

          PrintWriter out = response.getWriter();

          //依據(jù)驗(yàn)證結(jié)果輸出不同的數(shù)據(jù)信息

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

                out.println("熱烈的歡迎您!");

          }else{

                out.println("對不起,登錄失??!");

          }

          out.close();

     }

}

如果驗(yàn)證通過,將返回“熱烈的歡迎您!”的提示,如果驗(yàn)證失敗,將顯示“對不起,登錄失??!”的信息,信息是以responseText的格式返回客戶端的。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
ueditor1.4.3jsp utf-8版在struts2應(yīng)用中上傳圖片報(bào)"未找到上傳文件"解決方案
Ajax+java(servlet)+xml
servlet、jsp跳轉(zhuǎn)(傳值)總結(jié)及URL傳參數(shù)
java框架篇---Struts入門
JSP中的redirect和forward
servlet單獨(dú)運(yùn)行亂碼:
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服