<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    codefans

    導航

    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    統計

    常用鏈接

    留言簿(2)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    程序設計鏈接

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    Ajax入門實例

    安裝jdk1.4和tomcat5.0.28,IE5.5獲FireFox。進入正題

    [1]寫index.jsp文件

    <%@ page contentType="text/html;charset=gb2312"%>

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

    <html>

      <head>

        <title>My JSP 'index.jsp' starting page</title>

        <meta http-equiv="pragma" content="no-cache">

        <meta http-equiv="cache-control" content="no-cache">

        <meta http-equiv="expires" content="0">

        <meta http-equiv="description" content="This is my page">

        <link rel="stylesheet" type="text/css" href="styles.css">

      </head>

     

      <body>

        <script type="text/javascript">

        var req;

         function validate() {

             var idField = document.getElementById("userid");

             var url = "servlet/ValidateServlet?id=" + escape(idField.value);

             if (window.XMLHttpRequest) {

                 alert("0");

                 req = new XMLHttpRequest();

             }else if (window.ActiveXObject) {

                 alert("1");

                 req = new ActiveXObject("Microsoft.XMLHTTP");

             }

            if(req){

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

                 req.onreadystatechange = callback;

                req.send(null);       

             }

        }

    function callback() {

        if (req.readyState == 4) {

            if (req.status == 200) {

                     parseMessage();

                     // update the HTML DOM based on whether or not message is valid

            }else{

                alert ("Not able to retrieve description" + req.statusText);

            }      

        }

    }

    function parseMessage() {

        var message = req.responseXML.getElementsByTagName("message")[0];

        var name = req.responseXML.getElementsByTagName("name")[0];

        setMessage(message.firstChild.data,name.firstChild.data);

    }

     function setMessage(message,name) {

         var userMessageElement = document.getElementById("userIdMessage");

         userMessageElement.innerHTML = "<font color=\"red\">" + message + " you "+name+"</font>";

     }

    </script>

    <div id="userIdMessage"></div>

        <input type="text"

                size="20"

                  id="userid"

                name="id"

             onkeyup="validate();">

      </body>

    </html>

    [2] 寫servlet/ValidateServlet.java類

    /*

     * 創建日期 2005-8-3

     *

     * TODO 要更改此生成的文件的模板,請轉至

     * 窗口 - 首選項 - Java - 代碼樣式 - 代碼模板

     */

    package com;//com包需要自己創建.

     

    import java.io.IOException;

    import java.io.PrintWriter;

    import java.util.HashMap;

     

    import javax.servlet.ServletConfig;

    import javax.servlet.ServletContext;

    import javax.servlet.ServletException;

    import javax.servlet.http.HttpServlet;

    import javax.servlet.http.HttpServletRequest;

    import javax.servlet.http.HttpServletResponse;

     

    /**

     * @author Administrator

     *

     * TODO 要更改此生成的類型注釋的模板,請轉至

     * 窗口 - 首選項 - Java - 代碼樣式 - 代碼模板

     */

    public class ValidateServlet extends HttpServlet {

     

        /**

         * Constructor of the object.

         */

      

        private ServletContext context;

        private HashMap users = new HashMap();

     

        public ValidateServlet() {

            super();

        }

     

        /**

         * Destruction of the servlet. <br>

         */

        public void destroy() {

            super.destroy(); // Just puts "destroy" string in log

            // Put your code here

        }

     

        /**

         * The doGet method of the servlet. <br>

         *

         * This method is called when a form has its tag value method equals to get.

         *

         * @param request the request send by the client to the server

         * @param response the response send by the server to the client

         * @throws ServletException if an error occurred

         * @throws IOException if an error occurred

         */

        public void doGet(HttpServletRequest request, HttpServletResponse response)

                throws ServletException, IOException {

            response.setContentType("text/xml");

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

          

            String targetId = request.getParameter("id");

            System.out.println(targetId.trim());

     

            if ((targetId != null) && users.containsKey(targetId.trim())) {

     

                              response.getWriter().write("<info><message>welcome</message><name>sdl</name></info>");

            } else {

     

                      response.getWriter().write("<info><message>kill</message><name>bush</name></info>");

                    System.out.print("invalid");

                }

     

     

        }

        /**

         * Initialization of the servlet. <br>

         *

         * @throws ServletException if an error occure

         */

        public void init(ServletConfig config) throws ServletException {

            this.context = config.getServletContext();

            users.put("greg","account data");

            users.put("duke","account data");

     

        }

     

    }

    [3]寫web.xml文件

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

        <description>This is the description of my J2EE component</description>

        <display-name>This is the display name of my J2EE component</display-name>

        <servlet-name>ValidateServlet</servlet-name>

        <servlet-class>com.ValidateServlet</servlet-class>

      </servlet>

     

      <servlet-mapping>

        <servlet-name>ValidateServlet</servlet-name>

        <url-pattern>/servlet/ValidateServlet</url-pattern>

      </servlet-mapping>

    </web-app>

    [4]說明:
    你可以在IE或FireFox里測試,在文本輸入框里輸入,當按鍵抬起,會在層中顯示”kill you bush”。其中index.htm中的styles.css只是美化頁面,沒有列出來源代碼。如果在servlet向客戶端輸出中文,需要編碼轉換。

    posted on 2006-02-25 11:17 春雷的博客 閱讀(229) 評論(0)  編輯  收藏 所屬分類: web service


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 夜夜亚洲天天久久| 久久精品国产亚洲av麻豆小说| 亚洲国产精品成人精品软件| 日本免费人成视频播放| 亚洲宅男天堂a在线| 亚洲免费观看网站| 亚洲人成在线播放| 无码永久免费AV网站| 亚洲欧洲av综合色无码| 日韩免费观看的一级毛片| 蜜芽亚洲av无码一区二区三区| 日本高清免费中文字幕不卡| 国产精品亚洲小说专区| 国产精品亚洲玖玖玖在线观看| 立即播放免费毛片一级| 国产亚洲精品无码成人| 免费福利电影在线观看| 亚洲人成高清在线播放| 色视频色露露永久免费观看| 免费人成视频在线观看免费| 国产成人亚洲综合色影视| 日本片免费观看一区二区| 亚洲综合久久精品无码色欲| 免费h黄肉动漫在线观看| 三级毛片在线免费观看| 亚洲美女aⅴ久久久91| 成在人线AV无码免费| a免费毛片在线播放| 亚洲综合亚洲国产尤物| 噜噜嘿在线视频免费观看| aa级女人大片喷水视频免费| 亚洲人成电影福利在线播放| 女性无套免费网站在线看| 9久久免费国产精品特黄| 亚洲日本在线播放| 在线a亚洲v天堂网2018| 最近免费字幕中文大全视频| 精品久久久久亚洲| 久久久久亚洲AV无码观看 | 亚洲视频一区在线观看| 日韩特黄特色大片免费视频|