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

infinity

  C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
  36 隨筆 :: 0 文章 :: 25 評(píng)論 :: 0 Trackbacks

    Servlet是實(shí)現(xiàn)javax.servlet.Servlet接口的對(duì)象。大多數(shù)Servlet通過(guò)從GenericServlet或HttpServlet類進(jìn)行擴(kuò)展來(lái)實(shí)現(xiàn)。Servlet API包含于兩個(gè)包中,即javax.servlet和javax.servlet.http。下邊我們分別來(lái)介紹。

Ø         javax.servlet

接口

ServletConfig

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

ServletContext

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

ServletRequest

定義一個(gè)對(duì)象封裝客戶向Servlet的請(qǐng)求信息

ServletResponse

定義一個(gè)對(duì)象輔助Servlet將請(qǐng)求的響應(yīng)信息發(fā)送給客戶端

Servlet

定義所有Servlet必須實(shí)現(xiàn)的方法

ServletInputStream

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

ServletOutputStream

向客戶端發(fā)送二進(jìn)制數(shù)據(jù)

GenericServlet

抽象類,定義一個(gè)通用的、獨(dú)立于底層協(xié)議的Servlet

Ø         javax.servlet.http

接口

HttpSession

用于標(biāo)識(shí)客戶端并存儲(chǔ)有關(guān)客戶端的信息

HttpSessionAttributeListener

這個(gè)偵聽(tīng)接口用于獲取會(huì)話的屬性列表的改變的通知

HttpServletRequest

擴(kuò)展ServletRequest接口,為HTTP Servlet提供HTTP請(qǐng)求信息

HttpServletResponse

擴(kuò)展ServletResponse接口,提供HTTP特定的發(fā)送響應(yīng)的功能

HttpServlet

擴(kuò)展了GenericServlet的抽象類,用于擴(kuò)展創(chuàng)建Http Servlet

Cookie

創(chuàng)建一個(gè)Cookie,用于存儲(chǔ)Servlet發(fā)送給客戶端的信息

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

getParameter(String key)

返回一個(gè)字符串,獲得name和key一樣的表單控件的數(shù)據(jù),如果有重復(fù)的name,則返回第一個(gè)的值。

getParameterValues(String key)

返回一個(gè)字符串?dāng)?shù)組,獲得name和key一樣的表單控件的數(shù)據(jù),但相同name的控件會(huì)有多個(gè),如同名的多個(gè)checkbox等。

getParameterMap()

返回一個(gè)包含所有參數(shù)的Map,為key-String[]模式,即,key是表單控件的name,同時(shí),為了防止有重復(fù)name的控件存在,每個(gè)name對(duì)應(yīng)的值是一個(gè)字符串?dāng)?shù)組。

getParameterNames()

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

    下面我們舉個(gè)例子來(lái)說(shuō)明這四個(gè)方法的用法。

    我們首選創(chuàng)建一個(gè)sendparam.html文件,代碼如例3.2所示。

<html>

<head>

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

<title>測(cè)試HttpRequest接收參數(shù)方法_發(fā)送參數(shù)</title>

</head>

<body>

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

發(fā)送的內(nèi)容:<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">

選項(xiàng)1(name="chk" value="a")

<br>

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

選項(xiàng)2(name="chk" value="b")

<br><br>

<select name="select">

  <option value="1">內(nèi)容1_值是1</option>

  <option value="2">內(nèi)容2_值是2</option>

</select>

<br><br>

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

</form>

</body>

</html>

例3.2

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

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

/*

 * TestServlet.java

 *

 *

 * 功能:Servlet獲得參數(shù)

 */

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獲得參數(shù)的方法演示.

 * @author JY

 */

public class GetParamServlet extends HttpServlet {

 

    /** SerialVersionUID */

    private static final long serialVersionUID = 1711689663622072980L;

 

    /**

     * 處理Get請(qǐng)求

     * @param req Request

     * @param resp Response

     * @throws IOException IO異常

     */

    @Override

    protected void doGet(HttpServletRequest req,

            HttpServletResponse resp) throws IOException {

 

        // 設(shè)置輸出的格式

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

        PrintWriter out = resp.getWriter();

        out.println("<html>");

        out.println("<head>");

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

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

        out.println("<body>");

        // 設(shè)置接收參數(shù)所用的編碼

        req.setCharacterEncoding("UTF-8");

 

        // 通過(guò)getParameter()獲得的參數(shù)

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

        String value = null;

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

        value = req.getParameter("text");

        out.println("輸入框內(nèi)輸入的值:" + 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>");

 

        // 通過(guò)getParameterValues()獲得的參數(shù)

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

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

        String[] paramValue = null;

        paramValue = req.getParameterValues("text");

        if (null != paramValue) {

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

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

 

        // 通過(guò)getParameterMap()獲得的參數(shù)

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

        // 獲得參數(shù)的Map

        Map paramMap = req.getParameterMap();

        Object o = null;

        String[] val = null;

        // 循環(huán)Map的key

        for (Iterator it = paramMap.keySet()

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

            o = it.next();

            out.print(o);

            out.print(":");

            // 獲得key對(duì)應(yīng)的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>");

 

        // 通過(guò)getParameterNames()獲得參數(shù)的名稱

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

        // 獲得參數(shù)名稱枚舉

        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) 評(píng)論(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>
            国语自产精品视频在线看8查询8| 美女黄毛**国产精品啪啪| 久久精品国产99| 羞羞答答国产精品www一本| 亚洲综合第一页| 欧美在线一区二区三区| 久久免费视频网站| 亚洲国产精品一区二区久| 欧美黄色大片网站| 亚洲精品一级| 午夜精品久久久| 久久久亚洲一区| 欧美日韩黄视频| 国产三区二区一区久久| 亚洲国产精品专区久久| 中日韩视频在线观看| 欧美主播一区二区三区| 欧美成人在线网站| 日韩午夜高潮| 久久久精品国产一区二区三区| 美女任你摸久久| 国产精品久久久久久久一区探花| 国语自产精品视频在线看8查询8| av不卡在线看| 可以看av的网站久久看| 一本到高清视频免费精品| 久久久久一区| 国产精品无码永久免费888| 亚洲大胆av| 欧美综合国产精品久久丁香| 欧美激情2020午夜免费观看| 亚洲欧美一区二区三区在线| 欧美精品日本| 在线成人激情黄色| 欧美一区二区三区播放老司机| 亚洲经典视频在线观看| 欧美中文字幕视频在线观看| 国产精品福利av| 亚洲免费大片| 免费一级欧美在线大片| 在线综合亚洲| 欧美日韩精品一区二区天天拍小说 | 欧美国产日本| 99国内精品久久| 亚洲一区国产一区| 美乳少妇欧美精品| 国内外成人在线视频| 午夜影院日韩| 一区二区三区国产精品| 欧美—级高清免费播放| 亚洲国产日韩综合一区| 老司机精品视频一区二区三区| 亚洲综合999| 欧美亚洲成人精品| 一区二区三区视频在线观看| 欧美韩日视频| 毛片基地黄久久久久久天堂| 激情91久久| 久久男人资源视频| 欧美一级日韩一级| 国产欧美日韩一区二区三区在线观看 | 欧美成年人视频| 久久亚洲一区二区| 影音先锋久久久| 免费在线亚洲欧美| 老牛嫩草一区二区三区日本| **欧美日韩vr在线| 欧美成人免费在线| 欧美大片网址| 一区二区三区色| 亚洲专区一二三| 韩国在线视频一区| 亚洲国产另类久久久精品极度| 欧美激情第10页| 亚洲一区二区综合| 国产主播精品| 亚洲激情婷婷| 免费的成人av| 亚洲国产电影| 亚洲精品中文字幕有码专区| 欧美综合国产| 亚洲电影免费观看高清完整版在线| 欧美日韩午夜激情| 亚洲人成毛片在线播放| 亚洲欧洲久久| 欧美日韩视频一区二区三区| 亚洲毛片在线观看| 午夜精品视频一区| 国内精品久久久久久 | 国产精品视频一| 久久久久国产精品一区| 国产在线高清精品| 欧美xx69| 欧美精品日韩三级| 亚洲一区三区视频在线观看| 欧美一区二区视频在线观看2020| 亚洲电影免费在线| 国产精品99久久久久久久久久久久| 国产视频一区在线观看| 亚洲国产天堂久久综合网| 国产精品成av人在线视午夜片 | 老牛国产精品一区的观看方式| 免费在线成人| 性18欧美另类| 欧美人妖在线观看| 免费欧美在线视频| 国产精品视频网| 亚洲欧洲午夜| 一区二区三区在线免费观看| 亚洲视频视频在线| 亚洲激情在线观看| 久久精品99| 性刺激综合网| 欧美日韩免费网站| 亚洲国产精品成人精品| 国产尤物精品| 亚洲欧美中文另类| 亚洲视频一起| 欧美激情综合五月色丁香小说| 巨乳诱惑日韩免费av| 国产一区二区中文| 亚洲午夜激情免费视频| av成人手机在线| 久久精品99无色码中文字幕| 欧美一区二区在线免费播放| 国产精品a级| 99伊人成综合| 亚洲视频免费| 欧美性猛交xxxx乱大交蜜桃| 亚洲黄色免费电影| 亚洲国产精选| 蜜桃久久av一区| 亚洲电影免费观看高清| 亚洲国产精品va在线看黑人| 久久中文在线| 亚洲国产你懂的| 亚洲免费电影在线| 欧美日产一区二区三区在线观看| 亚洲高清久久网| 夜夜嗨av一区二区三区| 欧美日韩国产小视频| 亚洲免费观看视频| 亚洲色图综合久久| 欧美午夜精品久久久久免费视| 亚洲视频一起| 欧美一级免费视频| 国产在线观看一区| 久久国产视频网站| 榴莲视频成人在线观看| 亚洲激情欧美| 欧美日韩成人激情| 亚洲一二三区在线| 久久亚洲二区| 日韩视频欧美视频| 国产精品www| 欧美久久久久中文字幕| 亚洲欧美日韩成人| 久久riav二区三区| 在线观看日韩| 欧美猛交免费看| 亚洲曰本av电影| 久久综合色播五月| 99re成人精品视频| 国产精品午夜在线| 老司机精品导航| 亚洲一区二区久久| 另类天堂视频在线观看| 亚洲伦理自拍| 国产日本欧洲亚洲| 欧美va天堂| 亚洲男人的天堂在线aⅴ视频| 久久综合九色九九| 亚洲视频香蕉人妖| 伊人婷婷欧美激情| 国产精品jvid在线观看蜜臀| 久久香蕉国产线看观看网| 亚洲美女av电影| 久久中文精品| 亚洲一区免费观看| 亚洲日本中文| 好吊一区二区三区| 国产精品私人影院| 欧美寡妇偷汉性猛交| 欧美一区二区免费| 9国产精品视频| 亚洲第一视频| 猛干欧美女孩| 久久国产精品色婷婷| 一区二区三区国产| 亚洲国产精品专区久久| 国产亚洲一本大道中文在线| 欧美色视频日本高清在线观看| 免费视频亚洲| 久久免费一区| 香蕉成人伊视频在线观看| 一区二区三区免费观看| 亚洲日韩视频| 亚洲日本黄色| 亚洲盗摄视频| 亚洲国产mv|