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

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>
            久久久久久综合网天天| 午夜一区二区三区在线观看| 欧美日韩精品一二三区| 欧美成人精品三级在线观看| 欧美ab在线视频| 欧美精品一区二区蜜臀亚洲| 亚洲黄色在线观看| 亚洲黄页一区| 亚洲一区不卡| 久久久久国色av免费看影院| 麻豆av福利av久久av| 欧美大片在线看| 亚洲第一毛片| 亚洲人成网站精品片在线观看| 一区二区三区日韩欧美精品| 亚洲欧美日韩视频一区| 久久免费少妇高潮久久精品99| 欧美二区在线观看| 国产精品久久久久久久久免费| 国产日本欧美一区二区三区在线| 亚洲精品1234| 欧美中文日韩| 亚洲精品小视频| 久久精品1区| 欧美午夜剧场| 91久久精品国产91性色| 午夜在线精品偷拍| 亚洲激情电影在线| 国产婷婷色一区二区三区四区| 久久野战av| 国产精品久久影院| 亚洲人成在线影院| 久久久久久久久综合| 亚洲精品视频在线| 久久久久欧美精品| 国产九九精品| 亚洲自拍偷拍视频| 亚洲二区视频在线| 久久精品国产久精国产爱| 欧美日韩一区二区三区四区五区| 韩国一区二区三区在线观看 | 亚洲一区三区电影在线观看| 久久躁日日躁aaaaxxxx| 国产欧美精品国产国产专区| 一本久道久久久| 欧美成人第一页| 欧美一区二区日韩一区二区| 国产精品黄色在线观看| 一区二区日韩免费看| 亚洲国产精品传媒在线观看| 久久视频在线视频| 精品不卡一区| 久久国产精品色婷婷| 亚洲一区免费在线观看| 国产精品观看| 亚洲资源在线观看| 亚洲视频在线观看| 国产精品久久久免费| 亚洲免费影院| 亚洲男人av电影| 国产精品网站在线观看| 亚洲欧美国产一区二区三区| 99re视频这里只有精品| 欧美激情精品| 一区二区电影免费在线观看| 亚洲人成在线播放网站岛国| 欧美精品1区2区| 99热精品在线| 亚洲午夜成aⅴ人片| 国产精品美女诱惑| 欧美在线观看一区二区三区| 亚洲欧美久久久久一区二区三区| 国产精品影音先锋| 久久午夜精品| 久久精品亚洲一区二区| 亚洲综合欧美| 韩日精品视频| 亚洲国产影院| 国产精品久久国产精麻豆99网站| 午夜在线成人av| 久久久久成人网| 亚洲美女少妇无套啪啪呻吟| aa级大片欧美| 好吊视频一区二区三区四区| 欧美成人在线免费观看| 欧美日韩国产综合久久| 欧美亚洲在线视频| 亚洲综合色视频| 亚洲欧美在线视频观看| 黑人极品videos精品欧美裸| 欧美激情黄色片| 国产精品成av人在线视午夜片| 欧美一级欧美一级在线播放| 久久久久久97三级| 一本一本久久a久久精品综合麻豆| 亚洲无吗在线| 亚洲国产精品va在线看黑人| 日韩视频在线你懂得| 国产三级欧美三级日产三级99| 欧美成人一区二区三区| 国产精品扒开腿做爽爽爽软件| 另类成人小视频在线| 欧美日韩一区二区在线观看视频| 久久久精品久久久久| 欧美日韩高清区| 美女久久一区| 国产日韩av一区二区| 亚洲精品1区2区| 国语精品一区| 亚洲一卡二卡三卡四卡五卡| 亚洲麻豆视频| 久久人人97超碰人人澡爱香蕉| 亚洲免费人成在线视频观看| 久久综合伊人77777| 欧美一区二区免费观在线| 欧美寡妇偷汉性猛交| 久热精品视频在线| 国产视频欧美视频| 亚洲一区二区三区在线观看视频| 亚洲乱码国产乱码精品精98午夜| 久久精彩视频| 久久婷婷影院| 国产一区二区按摩在线观看| 亚洲无线观看| 性欧美videos另类喷潮| 欧美视频官网| 日韩亚洲欧美一区二区三区| 亚洲精品视频在线看| 久久综合国产精品| 欧美va天堂va视频va在线| 国产人成精品一区二区三| 亚洲欧美综合另类中字| 欧美一区精品| 国产婷婷色一区二区三区在线| 亚洲曰本av电影| 羞羞答答国产精品www一本| 国产精品久久久久aaaa九色| 一区二区三区福利| 亚洲欧美在线免费| 国产精品毛片| 亚洲欧美视频在线观看视频| 欧美一二三区精品| 国产视频一区在线| 久久精彩视频| 亚洲电影中文字幕| 夜夜嗨av一区二区三区| 欧美日韩的一区二区| 亚洲性感美女99在线| 久久成人综合视频| 黄色一区三区| 欧美二区不卡| 亚洲色无码播放| 欧美在线视频一区二区三区| 久久精品夜夜夜夜久久| 18成人免费观看视频| 欧美搞黄网站| 一区二区三区黄色| 久久精品一区二区三区中文字幕| 狠狠色丁香婷婷综合影院| 久久天堂精品| 99re6热在线精品视频播放速度 | 91久久精品久久国产性色也91| 欧美成人一区在线| 一本色道久久综合狠狠躁篇怎么玩 | 99re热精品| 久久久久一区二区三区四区| 在线播放不卡| 欧美精品一区三区在线观看| 性欧美video另类hd性玩具| 蜜臀va亚洲va欧美va天堂| 亚洲裸体视频| 国产欧美亚洲精品| 欧美成人影音| 午夜视频一区| 亚洲激情校园春色| 久久久99国产精品免费| 亚洲精品一区二区三区不| 国产伦精品一区| 欧美精品入口| 久久精品99国产精品酒店日本| 亚洲国产精品一区二区三区| 小处雏高清一区二区三区 | 久久深夜福利| 亚洲欧美国产77777| 亚洲日本成人| 国产一区二区成人| 国产精品美女xx| 欧美精品一区三区在线观看| 久久久久国产精品一区| 亚洲亚洲精品三区日韩精品在线视频| 亚洲第一福利视频| 久久五月天婷婷| 欧美一区二区三区婷婷月色| 999亚洲国产精| 亚洲国产欧美日韩另类综合| 国内精品国语自产拍在线观看| 国产精品成人一区二区网站软件| 欧美成年人视频| 久久躁狠狠躁夜夜爽| 久久精品免费播放|