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

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>
            免费成人黄色片| 国产精品海角社区在线观看| 另类酷文…触手系列精品集v1小说| 99国产精品视频免费观看一公开| 韩日精品视频一区| 国产亚洲欧洲| 在线观看成人网| 亚洲精品老司机| 亚洲五月六月| 欧美在线综合视频| 久久人人97超碰国产公开结果| 久久久精品久久久久| 麻豆成人综合网| 亚洲国产美女久久久久 | 亚洲综合欧美日韩| 亚洲欧美日韩成人高清在线一区| 亚洲自拍偷拍福利| 久久久久综合网| 亚洲激情综合| 一本色道久久综合亚洲精品不卡| 亚洲黄色一区| 亚洲精品欧美日韩专区| 日韩一级免费观看| 欧美一区二区三区四区在线观看地址 | 欧美波霸影院| 欧美日韩综合不卡| 韩国av一区二区三区| 亚洲免费电影在线| 久久国产成人| 亚洲人被黑人高潮完整版| 亚洲视频一区二区在线观看 | 日韩亚洲不卡在线| 一本色道久久综合亚洲91| 欧美一级片在线播放| 麻豆精品传媒视频| 欧美色精品天天在线观看视频| 国产欧美精品一区| 一区二区国产精品| 欧美va亚洲va日韩∨a综合色| 中文亚洲免费| 欧美激情精品久久久久久蜜臀| 国产欧美日韩精品在线| 一区二区国产在线观看| 久久久五月婷婷| 亚洲网站在线播放| 欧美国产一区视频在线观看| 国产一区二区三区的电影| 中日韩视频在线观看| 欧美激情偷拍| 久久久久久97三级| 国产综合久久久久久| 亚洲欧美日韩一区二区| 日韩亚洲欧美精品| 欧美日韩国产精品自在自线| 亚洲国产欧美一区二区三区久久| 欧美在线看片| 亚洲欧美网站| 国产亚洲亚洲| 久久久久久有精品国产| 亚洲欧美网站| 国产日韩欧美亚洲一区| 亚洲欧美一区在线| 亚洲一区亚洲| 国产视频欧美| 久久久福利视频| 久久国产精品电影| 极品日韩久久| 欧美va亚洲va国产综合| 免费人成精品欧美精品| 在线日韩一区二区| 亚洲大胆视频| 欧美成人亚洲| 夜色激情一区二区| 99re66热这里只有精品4| 欧美日韩国产高清视频| 亚洲婷婷免费| 午夜久久黄色| 亚洲福利一区| 亚洲美女色禁图| 欧美特黄视频| 久久国产精品久久国产精品| 欧美一级专区| 91久久视频| 亚洲精品系列| 国产精品日韩专区| 另类欧美日韩国产在线| 美女日韩欧美| 亚洲视频在线观看视频| 亚洲在线一区| 亚洲福利电影| 亚洲免费精品| 午夜精品一区二区三区电影天堂| 亚洲综合精品一区二区| 欧美一区二区三区免费视频| 一区二区视频欧美| 亚洲三级免费| 国内精品久久久久久久果冻传媒 | 欧美视频在线一区二区三区| 亚洲一区二区三区四区五区午夜 | 久久久99爱| 亚洲日本久久| 国产一区观看| 亚洲国产一区二区三区青草影视| 欧美日韩在线播放| 久久亚洲国产成人| 欧美日韩在线播放三区| 久久综合久久美利坚合众国| 欧美精品久久一区二区| 欧美一二三视频| 欧美激情在线| 国产真实乱偷精品视频免| 最新亚洲视频| 国内精品久久久久久影视8 | 最近看过的日韩成人| 亚洲性色视频| 亚洲国产日韩在线| 香蕉亚洲视频| 国产精品永久免费在线| 亚洲第一免费播放区| 国产亚洲一区二区三区在线观看| 久久久久青草大香线综合精品| 欧美精品国产精品日韩精品| 久久久最新网址| 国产精品夜夜夜| 99精品国产在热久久婷婷| 一区二区三区亚洲| 亚洲影音一区| 亚洲女同同性videoxma| 欧美激情一区二区三区在线| 久久久综合激的五月天| 国产精品美女久久久免费| 日韩午夜免费| 亚洲黄色影片| 久久福利一区| 久久久久网站| 国内揄拍国内精品久久| 亚洲欧美日韩国产| 欧美在线高清| 国产精品久久久久久久久久久久久 | 91久久精品一区二区别| 黄色成人精品网站| 欧美一区观看| 久久人人爽人人爽爽久久| 一区二区三区高清视频在线观看 | 欧美精品一卡| 亚洲国产综合91精品麻豆| 亚洲国产综合视频在线观看| 久久久精品999| 久久综合九色综合久99| 在线高清一区| 欧美第一黄色网| 亚洲精选在线观看| 一区二区日韩欧美| 欧美色网一区二区| 亚洲一区图片| 老色鬼精品视频在线观看播放| 伊人色综合久久天天五月婷| 久久一区二区视频| 亚洲福利一区| 在线一区欧美| 国产伦精品一区二区三区高清版| 99精品久久久| 亚洲综合不卡| 国产精品手机视频| 欧美一区二区三区精品| 欧美韩国日本一区| 亚洲综合大片69999| 国模大胆一区二区三区| 久久亚洲一区| 亚洲激情啪啪| 亚洲欧美视频在线观看视频| 好看不卡的中文字幕| 欧美黄色aa电影| 中文欧美在线视频| 久久阴道视频| 国产精品99久久久久久宅男| 国产精品乱人伦中文| 久久久久久电影| 亚洲美女av网站| 欧美日韩中文字幕| 亚洲视频在线观看免费| 久久www成人_看片免费不卡| 亚洲国产精品毛片| 欧美视频网站| 性色av一区二区怡红| 欧美88av| 香蕉av福利精品导航| 在线免费日韩片| 欧美日韩在线视频一区| 欧美专区在线播放| 9久草视频在线视频精品| 噜噜噜噜噜久久久久久91| 一区二区三区高清| 国内精品伊人久久久久av影院 | 国产一区二区三区无遮挡| 牛牛国产精品| 欧美专区在线观看一区| 亚洲人成网站999久久久综合| 国产精品私房写真福利视频| 美国三级日本三级久久99|