青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

infinity

  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
  36 隨筆 :: 0 文章 :: 25 評論 :: 0 Trackbacks

    Servlet是實現javax.servlet.Servlet接口的對象。大多數Servlet通過從GenericServlet或HttpServlet類進行擴展來實現。Servlet API包含于兩個包中,即javax.servlet和javax.servlet.http。下邊我們分別來介紹。

Ø         javax.servlet

接口

ServletConfig

定義了在Servlet初始化的過程中由Servlet容器傳遞給Servlet的配置信息對象

ServletContext

定義Servlet使用的方法以獲取其容器的信息

ServletRequest

定義一個對象封裝客戶向Servlet的請求信息

ServletResponse

定義一個對象輔助Servlet將請求的響應信息發送給客戶端

Servlet

定義所有Servlet必須實現的方法

ServletInputStream

定義名為readLine()的方法,從客戶端 讀取二進制數據

ServletOutputStream

向客戶端發送二進制數據

GenericServlet

抽象類,定義一個通用的、獨立于底層協議的Servlet

Ø         javax.servlet.http

接口

HttpSession

用于標識客戶端并存儲有關客戶端的信息

HttpSessionAttributeListener

這個偵聽接口用于獲取會話的屬性列表的改變的通知

HttpServletRequest

擴展ServletRequest接口,為HTTP Servlet提供HTTP請求信息

HttpServletResponse

擴展ServletResponse接口,提供HTTP特定的發送響應的功能

HttpServlet

擴展了GenericServlet的抽象類,用于擴展創建Http Servlet

Cookie

創建一個Cookie,用于存儲Servlet發送給客戶端的信息

    在這里,我們需要詳細了解下HttpServletRequest獲得參數名和參數值的方法。

getParameter(String key)

返回一個字符串,獲得name和key一樣的表單控件的數據,如果有重復的name,則返回第一個的值。

getParameterValues(String key)

返回一個字符串數組,獲得name和key一樣的表單控件的數據,但相同name的控件會有多個,如同名的多個checkbox等。

getParameterMap()

返回一個包含所有參數的Map,為key-String[]模式,即,key是表單控件的name,同時,為了防止有重復name的控件存在,每個name對應的值是一個字符串數組。

getParameterNames()

返回一個枚舉類型值,返回所有表單中所有表看控件的name。

    下面我們舉個例子來說明這四個方法的用法。

    我們首選創建一個sendparam.html文件,代碼如例3.2所示。

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>測試HttpRequest接收參數方法_發送參數</title>

</head>

<body>

<form action="GetParam" method="get">

發送的內容:<br>

輸入框A(name="txt"):<input type="text" name="text"/>

<br>

輸入框B(name="txt"):<input type="text" name="text"/>

<br><br>

<input type="checkbox" name="checkbox" value="a">

選項1(name="chk" value="a")

<br>

<input type="checkbox" name="checkbox" value="b">

選項2(name="chk" value="b")

<br><br>

<select name="select">

  <option value="1">內容1_值是1</option>

  <option value="2">內容2_值是2</option>

</select>

<br><br>

<input type="submit" value="傳送"/>

</form>

</body>

</html>

例3.2

    在例3.2中,我們定義了兩個輸入框,name都設定為“text”,定義了兩個多選框,name都設定為“checkbox”,最后定義了一個下拉選擇框,name設定為“select”。

    我們接著創建一個GetParamServlet類,里邊分別用到了上面提到的四個方法。代碼如例3.3所示。

/*

 * TestServlet.java

 *

 *

 * 功能:Servlet獲得參數

 */

package com.jy.sample.servlet;

 

import java.io.IOException;

import java.io.PrintWriter;

import java.util.Enumeration;

import java.util.Iterator;

import java.util.Map;

 

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

 

/**

 * Servlet獲得參數的方法演示.

 * @author JY

 */

public class GetParamServlet extends HttpServlet {

 

    /** SerialVersionUID */

    private static final long serialVersionUID = 1711689663622072980L;

 

    /**

     * 處理Get請求

     * @param req Request

     * @param resp Response

     * @throws IOException IO異常

     */

    @Override

    protected void doGet(HttpServletRequest req,

            HttpServletResponse resp) throws IOException {

 

        // 設置輸出的格式

        resp.setContentType("text/html;charset=UTF-8");

        PrintWriter out = resp.getWriter();

        out.println("<html>");

        out.println("<head>");

        out.println("<title>HttpRequest獲得參數的方法</title>");

        out.println("</head>");

        out.println("<body>");

        // 設置接收參數所用的編碼

        req.setCharacterEncoding("UTF-8");

 

        // 通過getParameter()獲得的參數

        out.println("getParameter()獲得的參數<br>");

        String value = null;

        // 獲得name="txt"的表單控件的值

        value = req.getParameter("text");

        out.println("輸入框內輸入的值:" + value);

        out.print("<br>");

        // 獲得name="chk"的表單控件的值

        value = req.getParameter("checkbox");

        out.println("多選框選中的值:" + value);

        out.print("<br>");

        // 獲得name="sel"的表單控件的值

        value = req.getParameter("select");

        out.println("下拉框選中的值:" + value);

        out.println("<br>");

        out.println("=====================================<br>");

 

        // 通過getParameterValues()獲得的參數

        out.println("getParameterValues()獲得的參數<br>");

        // 獲得name="txt"的表單控件的值

        String[] paramValue = null;

        paramValue = req.getParameterValues("text");

        if (null != paramValue) {

            out.print("輸入框內輸入的值:");

            for (int i = 0; i < paramValue.length; i++) {

                out.print(paramValue[i]);

                out.print("&nbsp;&nbsp;");

            }

        }

        out.println("<br>");

        // 獲得name="chk"的表單控件的值

        paramValue = req.getParameterValues("checkbox");

        if (null != paramValue) {

            out.print("多選框選中的值:");

            for (int i = 0; i < paramValue.length; i++) {

                out.print(paramValue[i]);

                out.print("&nbsp;&nbsp;");

            }

        }

        out.println("<br>");

        // 獲得name="sel"的表單控件的值

        paramValue = req.getParameterValues("select");

        if (null != paramValue) {

            out.print("下拉框選中的值:");

            for (int i = 0; i < paramValue.length; i++) {

                out.print(paramValue[i]);

                out.print("&nbsp;&nbsp;");

            }

        }

        out.println("<br>");

        out.println("=====================================<br>");

 

        // 通過getParameterMap()獲得的參數

        out.println("getParameterMap()獲得的參數<br>");

        // 獲得參數的Map

        Map paramMap = req.getParameterMap();

        Object o = null;

        String[] val = null;

        // 循環Map的key

        for (Iterator it = paramMap.keySet()

.iterator(); it.hasNext();) {

            o = it.next();

            out.print(o);

            out.print(":");

            // 獲得key對應的value

            val = (String[]) paramMap.get(o);

            if (null != val) {

                for (int j = 0; j < val.length; j++) {

                    out.print(val[j]);

                    out.print("&nbsp;&nbsp;");

                }

            }

        }

        out.println("<br>");

        out.println("=====================================<br>");

 

        // 通過getParameterNames()獲得參數的名稱

        out.println("getParameterNames()獲得參數的名稱<br>");

        // 獲得參數名稱枚舉

        Enumeration en = req.getParameterNames();

        for (;en.hasMoreElements();) {

            o = en.nextElement();

            out.print(o);

            out.print("&nbsp;&nbsp;");

        }

        out.println("<br>");

        out.println("=====================================<br>");

 

        out.println("</body>");

        out.println("</html>");

 

    }

}


posted on 2010-07-27 11:21 infinity 閱讀(485) 評論(0)  編輯 收藏 引用 所屬分類: java
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久久久久夜| 亚洲国产精品一区二区www| 久久综合五月| 久久精品日产第一区二区三区| 亚洲人成亚洲人成在线观看图片| 亚洲美女电影在线| 久久成人免费电影| 欧美激情五月| 欧美一级黄色网| 欧美天堂亚洲电影院在线播放| 美女精品自拍一二三四| 欧美日韩亚洲一区三区| 中文成人激情娱乐网| 免费欧美日韩| 国产一区在线观看视频| 亚洲私人影院| av成人国产| 牛人盗摄一区二区三区视频| 亚洲欧美另类国产| 欧美在线91| 国产无遮挡一区二区三区毛片日本| 国产精品亚洲不卡a| 亚洲精品一区二区三区福利| 伊人久久亚洲美女图片| 好看的av在线不卡观看| 亚洲在线观看免费视频| 久久国产福利| 性欧美暴力猛交另类hd| 亚洲高清视频一区| 欧美在线免费观看视频| 久久看片网站| 亚洲高清不卡av| 久久精品亚洲精品国产欧美kt∨| 久久久久国产一区二区三区四区 | 亚洲视频欧美视频| 亚洲一区美女视频在线观看免费| 国产一区二区三区丝袜| 久久成人免费网| 亚洲一区免费观看| 国产精品理论片| 性欧美超级视频| 久久婷婷国产综合精品青草| 国模大胆一区二区三区| 久久久青草青青国产亚洲免观| 亚洲精品免费网站| 亚洲男人第一av网站| 国产精品福利网站| 黄色欧美成人| 玖玖精品视频| 欧美日韩国产成人高清视频| 一区二区欧美国产| 一区二区三区四区精品| 国产一区二区你懂的| 久久理论片午夜琪琪电影网| 久久视频在线视频| 亚洲国产精品福利| 亚洲摸下面视频| 国产日韩欧美高清免费| 亚洲少妇自拍| 欧美综合国产精品久久丁香| 在线看片成人| 久久精品国产成人| 亚洲精品欧美日韩专区| 国产精品大全| 免费视频一区| 男女视频一区二区| 欧美一区国产二区| 老妇喷水一区二区三区| 一区二区高清视频| 亚洲精品在线三区| 国产精品视频网址| 亚洲作爱视频| 国产亚洲一级| 亚洲一区二区三区在线看| 亚洲国产精品悠悠久久琪琪| 每日更新成人在线视频| 国产一区在线播放| 久久成人免费网| 欧美 日韩 国产一区二区在线视频| 亚洲精品资源| 国产精品久久久久9999高清| 亚洲欧洲日本国产| 久久不射电影网| 欧美成人网在线| 欧美国产精品va在线观看| 噜噜噜在线观看免费视频日韩| 欧美日韩在线播放三区| 亚洲高清不卡在线观看| 欧美日韩综合精品| 久久综合久久久久88| 亚洲性夜色噜噜噜7777| 久久久久久国产精品一区| 亚洲激情视频在线| 亚洲嫩草精品久久| 日韩写真视频在线观看| 噜噜爱69成人精品| 亚洲人成在线影院| 欧美刺激午夜性久久久久久久| 亚洲午夜精品在线| 国内外成人在线| 欧美特黄一级| 欧美人与性动交cc0o| 日韩一级不卡| 久久综合色一综合色88| 欧美三区在线| 亚洲国产一区二区三区高清| 午夜在线播放视频欧美| 日韩午夜免费视频| 亚洲一区二区三区久久| 欧美成黄导航| 中文有码久久| 男女av一区三区二区色多| 制服丝袜亚洲播放| 亚洲国产精品高清久久久| 亚洲综合导航| 日韩一二三在线视频播| 欧美不卡高清| 久久亚洲综合色一区二区三区| 在线观看成人网| 欧美亚洲综合在线| 夜夜嗨av色综合久久久综合网| 一本色道久久综合亚洲精品不| 亚洲图片在线观看| 亚洲欧美一区二区在线观看| 亚洲永久免费| 久久精品视频在线免费观看| 久久综合伊人77777尤物| 一区二区在线免费观看| 久热这里只精品99re8久| 香蕉久久夜色精品国产使用方法| 激情成人综合| 久久蜜桃av一区精品变态类天堂| 日韩一级在线观看| 国产精品视频成人| 欧美亚洲三级| 欧美成人免费视频| 欧美体内she精视频| 久久资源av| 一本色道久久99精品综合| 韩国福利一区| 欧美一级大片在线观看| 免费日韩av片| 亚洲乱码一区二区| 国产精品亚洲成人| 久久激情视频久久| 亚洲第一免费播放区| 91久久精品日日躁夜夜躁欧美| 亚洲欧洲日产国产综合网| 国产在线视频欧美| 国产亚洲欧美另类中文| 蜜臀va亚洲va欧美va天堂| 久久精品人人做人人爽电影蜜月| 欧美国产欧美综合| 欧美系列一区| 亚洲精品日产精品乱码不卡| 亚洲国产精品999| 欧美激情精品久久久久久| 国产亚洲制服色| 欧美在线3区| 久久中文在线| 欧美经典一区二区三区| 亚洲精品国精品久久99热一| 欧美一级一区| 久久久久久久久久久久久女国产乱 | 亚洲六月丁香色婷婷综合久久| 免费人成精品欧美精品| 亚洲精品老司机| 亚洲精品中文字幕有码专区| 亚洲欧美电影在线观看| 久久久久久久久久久久久久一区| 午夜免费在线观看精品视频| 久久福利视频导航| 久久一区二区三区四区| 欧美韩日高清| 亚洲美女精品成人在线视频| 黄色欧美日韩| 国产一区清纯| 国产综合精品一区| 国产精品日韩在线播放| 欧美午夜精品久久久久免费视| 亚洲黄网站在线观看| 久久久久久高潮国产精品视| 欧美一区二区三区日韩| 午夜免费久久久久| 午夜日韩电影| 国内精品久久久久国产盗摄免费观看完整版 | 亚洲伦理自拍| 亚洲电影观看| 在线观看国产欧美| 国外成人在线| 日韩午夜黄色| 中文亚洲字幕| 亚洲精品系列| 久久精品视频亚洲| 午夜亚洲福利| 国产女主播一区二区| 亚洲一级电影| 亚洲深夜av| 午夜免费日韩视频| 久久av老司机精品网站导航|