成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

編寫Service方法

springDevBird / 2989人閱讀

摘要:讀取字節(jié)流數(shù)據(jù),需要使用方法返回的對(duì)象。單個(gè)參數(shù)可以通過請(qǐng)求的方法獲取。可以使用方法指定包含的類型如。這個(gè)方法必須在任何內(nèi)容被寫入前或響應(yīng)被提交前。響應(yīng)對(duì)象,,有表示頭的屬性,如下狀態(tài)代碼用于指示不滿足請(qǐng)求或請(qǐng)求已重定向的原因。

servlet提供的service方法實(shí)現(xiàn)了GenericServlet的service方法,在HttpServlet 對(duì)象的doMethod( Get, Delete, Options, Post, Put, or Trace) 方法中,或者在其他實(shí)現(xiàn)了Servlet接口的類的方法中。術(shù)語service method用來描述Servlet類中的任何能提供給客戶端調(diào)用的方法的。
通常,service方法用來從請(qǐng)求中讀取信息,訪問外部資源,然后基于這些信息填充相應(yīng)數(shù)據(jù)。對(duì)HTTP Servlet來說,正確的填充相應(yīng)的步驟如下:

獲取響應(yīng)數(shù)據(jù)流

填充響應(yīng)頭

編寫響應(yīng)數(shù)據(jù)流的內(nèi)容

響應(yīng)頭必須在響應(yīng)提交之前設(shè)置,web容器將忽略響應(yīng)提交之后設(shè)置響應(yīng)頭或添加響應(yīng)頭的操作。下兩節(jié)描述如何從請(qǐng)求中獲取信息和生成響應(yīng)。

從請(qǐng)求中獲取信息

請(qǐng)求攜帶數(shù)據(jù)從客戶端傳到服務(wù)端。所有請(qǐng)求都實(shí)現(xiàn)了ServletRequest接口。這個(gè)接口定義的方法可以訪問下面的信息:

參數(shù),通常用來在客戶端與服務(wù)端之間傳遞參數(shù)

對(duì)象屬性,通常用來在web容器與servlet之間、多個(gè)servlet之間傳遞信息

有關(guān)用于傳達(dá)請(qǐng)求的協(xié)議以及請(qǐng)求中涉及的客戶端和服務(wù)器的信息

本地化的相關(guān)信息

當(dāng)然你也可以直接獲取輸入流,并手工解析數(shù)據(jù)。讀取這些數(shù)據(jù),最好使用BufferedReader對(duì)象獲取請(qǐng)求的getReader方法。讀取字節(jié)流數(shù)據(jù),需要使用getInputStream方法返回的ServletInputStream對(duì)象。
Http servlet傳遞一個(gè)Http請(qǐng)求對(duì)象,HttpServletRequest,它包含請(qǐng)求URL、Http頭信息、查詢字符串等等。Http URL包含下列信息:

http://[host]:[port][request-path]?[query-string]

請(qǐng)求路徑還包括一下元素:

上下文路徑 : 使用/符號(hào)與web應(yīng)用程序的跟路徑分隔

Servlet路徑: 請(qǐng)求此路徑的別名所對(duì)應(yīng)的路徑。路徑以/開始。

path 路徑: 請(qǐng)求路徑中不屬于上下文路徑和servlet上下文的路徑

你可以使用HttpServletRequest接口的getContextPath, getServletPath, and getPathInfo方法訪問這些信息。除url編碼與請(qǐng)求路徑有區(qū)別外,請(qǐng)求路徑總是等于上下文路徑+servlet路徑+path路徑。
查詢字符串由一組參數(shù)和值組成。單個(gè)參數(shù)可以通過請(qǐng)求的getParameter方法獲取。有下面兩種方式生成查詢字符串:

查詢字符串可以在web頁面上直觀的顯示

當(dāng)以get方式提交Http請(qǐng)求時(shí),查詢字符串附加在了請(qǐng)求后面。

構(gòu)造響應(yīng)

響應(yīng)包含從服務(wù)端傳到客戶端的數(shù)據(jù)。所有的響應(yīng)都實(shí)現(xiàn)了ServletResponse接口。這個(gè)接口定義的方法支持做下面的工作:

發(fā)送輸出流數(shù)據(jù)到客戶端。發(fā)送字符數(shù)據(jù),使用getWriter方法返回的PrintWriter對(duì)象;發(fā)送MIME類型的二進(jìn)制數(shù)據(jù),使用getOutputStream方法返回的ServletOutputStream。混合二進(jìn)制和字符數(shù)據(jù),存在多重響應(yīng),需要使用ServletOutputStream類并手動(dòng)管理字符部分。

可以使用setContentType方法指定包含的類型(如text/html)。這個(gè)方法必須在響應(yīng)提交之前調(diào)用。緩沖區(qū)允許在響應(yīng)提交之前寫入數(shù)據(jù),從而允許servlet有更多時(shí)間去設(shè)置狀態(tài)代碼和響應(yīng)頭或者轉(zhuǎn)發(fā)到其他web資源。這個(gè)方法必須在任何內(nèi)容被寫入前或響應(yīng)被提交前。

設(shè)置本地化信息,比如區(qū)域位置和編碼,在Chapter 20, "Internationalizing and Localizing Web Applications" 有更詳盡的描述。

Http響應(yīng)對(duì)象, javax.servlet.http.HttpServletResponse,有表示Http頭的屬性,如下:

狀態(tài)代碼 用于指示不滿足請(qǐng)求或請(qǐng)求已重定向的原因。

cookies 用來在客戶端保存服務(wù)器的信息。通常,cookies用戶維持單一用戶登陸或者是跟蹤一個(gè)用戶的session(查看Session Tracking章節(jié))。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/73912.html

相關(guān)文章

  • 慕課網(wǎng)_《探秘Spring AOP》學(xué)習(xí)總結(jié)

    時(shí)間:2017年09月03日星期日說明:本文部分內(nèi)容均來自慕課網(wǎng)。@慕課網(wǎng):http://www.imooc.com 教學(xué)源碼:https://github.com/zccodere/s...學(xué)習(xí)源碼:https://github.com/zccodere/s... 第一章:課程介紹 1-1 面向切面 課程章節(jié) 概覽 AOP使用 AOP原理 AOP開源運(yùn)用 課程實(shí)戰(zhàn) 課程總結(jié) 面向切面編程是一種...

    Tony_Zby 評(píng)論0 收藏0
  • 【CuteJavaScript】Angular6入門項(xiàng)目(3.編寫服務(wù)和引入RxJS)

    摘要:發(fā)布通過回調(diào)方法向發(fā)布事件。觀察者一個(gè)回調(diào)函數(shù)的集合,它知道如何去監(jiān)聽由提供的值。 本文目錄 一、項(xiàng)目起步 二、編寫路由組件 三、編寫頁面組件 1.編寫單一組件 2.模擬數(shù)據(jù) 3.編寫主從組件 四、編寫服務(wù) 1.為什么需要服務(wù) 2.編寫服務(wù) 五、引入RxJS 1.關(guān)于RxJS 2.引入RxJS 3.改造數(shù)據(jù)獲取方式 六、改造組件 1.添...

    RebeccaZhong 評(píng)論0 收藏0
  • Vue2.5+遷移至Typescript指南

    摘要:遷移至指南為什么要遷移至本身是動(dòng)態(tài)弱類型的語言,這樣的特點(diǎn)導(dǎo)致了代碼中充斥著很多的報(bào)錯(cuò),給開發(fā)調(diào)試和線上代碼穩(wěn)定都帶來了不小的負(fù)面影響??尚行砸?yàn)槭堑某?,不?huì)阻止的運(yùn)行,即使存在類型錯(cuò)誤也不例外,這能讓你的逐步遷移至。 Vue2.5+遷移至Typescript指南 為什么要遷移至Typescript Javascript本身是動(dòng)態(tài)弱類型的語言,這樣的特點(diǎn)導(dǎo)致了Javascript代...

    Ilikewhite 評(píng)論0 收藏0
  • Vue2.5+遷移至Typescript指南

    摘要:遷移至指南為什么要遷移至本身是動(dòng)態(tài)弱類型的語言,這樣的特點(diǎn)導(dǎo)致了代碼中充斥著很多的報(bào)錯(cuò),給開發(fā)調(diào)試和線上代碼穩(wěn)定都帶來了不小的負(fù)面影響??尚行砸?yàn)槭堑某?,不?huì)阻止的運(yùn)行,即使存在類型錯(cuò)誤也不例外,這能讓你的逐步遷移至。 Vue2.5+遷移至Typescript指南 為什么要遷移至Typescript Javascript本身是動(dòng)態(tài)弱類型的語言,這樣的特點(diǎn)導(dǎo)致了Javascript代碼...

    wenshi11019 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<