亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

基于JSP HttpServlet的詳細介紹

2024-09-05 00:17:44
字體:
來源:轉載
供稿:網友

HttpServlet
先來復習一下上一節提到的類結構圖:


可以看到,HttpServlet繼承了GenericServlet,不過它也是一個抽象類, 不能直接使用,只能繼承它。

HttpServlet中常用的方法有兩個:

doGet
void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException

當瀏覽器用GET方式訪問時,該方法被調用。

doPost
void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException

當瀏覽器用POST方式訪問時,該方法被調用。

這兩個函數內部的處理方法基本上與上一節介紹的GenericServlet.service()函數相同。

另外其他的HTTP請求也都有相應的方法:

HttpServletRequest

doGet()doPost()函數的兩個參數為HttpServletRequestHttpServletResponse對象。

HttpServletRequest接口表示瀏覽器請求,你可以通過這個類獲取瀏覽器發送到服務器的任何信息。 對于PHP程序員來說,這個類有點類似于$_GET、$_POST$_SERVER 等幾個變量的內容。 它的常用方法如下:

getParameter
String getParameter(String name)

獲取指定變量名name所對應的參數值。該方法實際上為父接口javax.servlet.ServletRequest的方法。如果是GET請求則獲取查詢字符串后的參數,POST請求則獲取<form>表單中的參數。類似于PHP的$_GET$_POST數組。

getParameterValues
String[] getParameterValues(String name)

這個方法與getParameter()類似。當你要獲取<input type=”check”>這類會返回多個值的表單屬性時,就應當用這個方法。

getMethod
String getMethod()

返回字符串"GET""POST"

getRequestURI
String getRequestURI()

獲取請求的URI(不包括查詢字符串)。相當于PHP的$_SERVER['REQUEST_URI']

getServletPath
String getServletPath()

獲取Servlet的路徑。相當于PHP的$_SERVER['PHP_SELF']。

getPathInfo
String getPathInfo()

獲取PathInfo。相當于PHP的$_SERVER['PATH_INFO']

setCharacterEncoding
void setCharacterEncoding(String new)

設置請求的編碼。需要處理漢字時務必要通過該方法設置正確的字符編碼,否則將無法正確讀取瀏覽器發過來的文字。

還有好多有用的方法大家可以自己去參考接口文檔。

HttpServletResponse

HttpServletResponse接口則用于控制服務器發送給客戶端的內容,相當于PHP的echo、header等函數。

setContentType
void setContentType(String type)

設置返回值的類型。通常的HTML內容可設置為"text/html; charset=UTF-8"等,而動態生成的圖片則可以設置為"image/gif"等。輸出漢字之前,務必要通過該方法指定輸出的字符編碼。相當于在PHP中寫 header("Content-Type: image/gif")。

ServletOutputStream
ServletOutputStream getOutputStream() throws IOException

向客戶端發送二進制數據時,需要通過此方法獲取輸出流。

getWriter
PrintWriter getWriter() throws IOException

向客戶端發送文本數據時,需要通過此方法獲取輸出流。

示例程序

上一節建立Servlet時,我們先生成了Java代碼,再將其添加到web.xml的Servlet節中。 實際上可以直接在web.xml的Servlet節中建立Servlet,Eclicpse會自動幫我們生成Java代碼。

我們這次將建立一個表單提交程序,通過一個HTML表單提交數據,然后在Servlet中讀出數據并顯示出來。

首先右鍵單擊WebContent目錄,選擇New->HTML,新建一個HTML文檔,命名為 htmlpost.html。 下一步是選擇HTML模板,直接用默認值即可。

然后編輯 htmlpost.html,可參考本節的源代碼。源代碼下載:

右鍵單擊Deployment Descriptor中的Servlets,選擇New->Servlet。

按照下圖的樣子,在Java package處輸入包名 com.idv2.learnjsp,在 Class name處輸入類名 HttpPost,單擊Next。

出現Servlet映射的配置界面,輸入適當的Description。注意下方的 URL Mappings,這個就是從瀏覽器訪問該Servlet時使用的URL。

下一步選擇新建的類的屬性,通常選擇默認即可。 不過我們的Servlet只需要處理POST方法,所以下方的重載列表中只需選擇doPost即可。

最后單擊Finish,即可完成Servlet的建立,并且Eclipse會自動在Java代碼的src目錄中生成HttpPost.java文件的框架。

編輯java代碼,可以參考下面的源代碼下載。

其實這段代碼的主要內容就是通過 getParameter 或者 getParameterValues 方法來獲取客戶端提交的數據。其代碼片段如下;

復制代碼 代碼如下:www.CuoXIn.com

// 字符集
request.setCharacterEncoding("UTF-8");

// 從表單中獲得數據
out.println(" <li>用戶名: " + request.getParameter("username"));
out.println(" <li>密碼: " + request.getParameter("password"));
out.println(" <li>確認密碼: " + request.getParameter("confpass"));

// 獲取復選框的表單選項
String interests[] = request.getParameterValues("interests");
out.println(" <li>興趣愛好: <br/>");
if (interests != null) {
for (int i = 0; i < interests.length; i++) {
out.println(interests[i] + "<br/>");
}
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美午夜片在线免费观看| 国产丝袜一区二区三区免费视频| 亚洲欧美在线第一页| 欧美激情精品久久久久久免费印度| 98视频在线噜噜噜国产| 国产精品丝袜久久久久久不卡| 欧美激情视频在线| 亚洲福利视频网| 欧美高清视频在线| 亚洲黄色成人网| 日韩一二三在线视频播| 欧美性xxxx| 亚洲永久免费观看| 欧美一级大胆视频| 亚洲天堂网站在线观看视频| 日韩在线观看免费高清| 亚洲欧美中文日韩v在线观看| 亚洲欧洲日产国码av系列天堂| 日韩成人小视频| 久久免费精品日本久久中文字幕| 欧美性xxxxx| 国产精品久久久久久中文字| 亚洲激情久久久| 国产精品日日摸夜夜添夜夜av| 成人av.网址在线网站| 国产日韩在线精品av| 欧美在线观看网址综合| 亚洲mm色国产网站| 97视频在线观看免费| 综合激情国产一区| 欧美精品久久久久久久久久| 亚洲精品网站在线播放gif| 成人h视频在线| 国产精品狼人色视频一区| 久久精品国产精品| 日韩精品久久久久久福利| 欧美激情视频一区二区| 亚洲精品日韩av| 中文字幕久久久av一区| 国产精品久久久久91| 性色av一区二区三区| 亚洲欧美日本伦理| 国产精品久久久久久久久久99| 久久99视频免费| 亚洲va欧美va国产综合剧情| 91在线色戒在线| 欧美成人免费全部观看天天性色| 日韩精品在线电影| 精品国产成人在线| 亚洲一区二区中文| 精品五月天久久| 日韩精品一区二区视频| 日韩av黄色在线观看| 久久精品国产99国产精品澳门| 青草青草久热精品视频在线观看| 中文字幕亚洲激情| 一个人www欧美| 亚洲一区二区三区成人在线视频精品| 久久久亚洲国产天美传媒修理工| 奇米成人av国产一区二区三区| 日韩在线资源网| www.日本久久久久com.| 成人久久一区二区三区| 这里只有精品久久| 97久久久免费福利网址| 日韩午夜在线视频| 国产精品美女久久久久av超清| 日韩在线视频网站| 国产一区二区三区丝袜| 日韩美女视频在线观看| 欧美一区二区三区免费观看| 亚洲成人黄色在线观看| 精品久久久久久中文字幕一区奶水| 亚洲视屏在线播放| 亚洲xxxx妇黄裸体| 国产91精品视频在线观看| 国产精品九九九| 欧美日韩亚洲一区二区| 欧美激情喷水视频| 欧美国产高跟鞋裸体秀xxxhd| 麻豆国产va免费精品高清在线| 国产精品91一区| 亚洲国产日韩欧美综合久久| 久久亚洲影音av资源网| 91热精品视频| 久久精品99国产精品酒店日本| 国产精品一区二区久久久| 51色欧美片视频在线观看| 日产精品久久久一区二区福利| 欧美日韩免费在线| 热门国产精品亚洲第一区在线| 成人黄色在线播放| 日韩人在线观看| 国产精品久久久久免费a∨大胸| 97视频在线观看免费高清完整版在线观看| 久久精品青青大伊人av| 欧美激情网站在线观看| 亚洲影视九九影院在线观看| 最近2019年好看中文字幕视频| 亚洲女人天堂成人av在线| 97国产精品视频人人做人人爱| 亚洲精品小视频| 亚洲精品一区二区三区婷婷月| 国产欧美va欧美va香蕉在线| 亚洲在线第一页| 欧美日韩爱爱视频| 国产精品极品美女在线观看免费| 欧美一区二区三区精品电影| 俺也去精品视频在线观看| 97人人模人人爽人人喊中文字| 欧美亚洲午夜视频在线观看| 91黑丝在线观看| 国产91在线播放九色快色| 国产成人拍精品视频午夜网站| 成人黄色生活片| 国产精品av在线播放| 亚洲精品一区在线观看香蕉| 国模精品一区二区三区色天香| 国模精品一区二区三区色天香| 欧美性猛交xxxx乱大交极品| 亚洲欧美一区二区三区久久| 亚洲欧美精品在线| 欧美成人在线免费| 久久深夜福利免费观看| 国产精品高潮呻吟久久av野狼| 欧美日韩爱爱视频| 97成人在线视频| 色先锋久久影院av| 亚洲成人黄色在线| 欧美一区深夜视频| 亚洲精品福利免费在线观看| 北条麻妃在线一区二区| 欧美寡妇偷汉性猛交| 国产精品久久久久久久午夜| 色系列之999| 狠狠躁夜夜躁人人爽天天天天97| 久久久亚洲网站| 欧美亚洲在线观看| 成人美女av在线直播| 国产精品女人久久久久久| 青青青国产精品一区二区| 亚洲男人第一av网站| 国产综合久久久久久| 国产精品女人网站| 国产丝袜高跟一区| 久久91亚洲人成电影网站| 国产精品露脸自拍| 亚洲美腿欧美激情另类| 久久夜色精品国产亚洲aⅴ| 欧美国产精品人人做人人爱| 欧美激情第99页| 91精品久久久久久| 在线视频日韩精品| 久久久免费电影| 亚洲人成网站777色婷婷| 国产91网红主播在线观看| 在线电影中文日韩| 欧美日韩在线另类| 日韩国产欧美区| 96pao国产成视频永久免费| 黑人巨大精品欧美一区二区| 亚洲精品av在线| 欧美黑人一级爽快片淫片高清| 在线播放精品一区二区三区|