国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

編寫(xiě)Service方法

springDevBird / 2985人閱讀

摘要:讀取字節(jié)流數(shù)據(jù),需要使用方法返回的對(duì)象。單個(gè)參數(shù)可以通過(guò)請(qǐng)求的方法獲取。可以使用方法指定包含的類(lèi)型如。這個(gè)方法必須在任何內(nèi)容被寫(xiě)入前或響應(yīng)被提交前。響應(yīng)對(duì)象,,有表示頭的屬性,如下?tīng)顟B(tài)代碼用于指示不滿(mǎn)足請(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接口的類(lèi)的方法中。術(shù)語(yǔ)service method用來(lái)描述Servlet類(lèi)中的任何能提供給客戶(hù)端調(diào)用的方法的。
通常,service方法用來(lái)從請(qǐng)求中讀取信息,訪問(wèn)外部資源,然后基于這些信息填充相應(yīng)數(shù)據(jù)。對(duì)HTTP Servlet來(lái)說(shuō),正確的填充相應(yīng)的步驟如下:

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

填充響應(yīng)頭

編寫(xiě)響應(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ù)從客戶(hù)端傳到服務(wù)端。所有請(qǐng)求都實(shí)現(xiàn)了ServletRequest接口。這個(gè)接口定義的方法可以訪問(wèn)下面的信息:

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

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

有關(guān)用于傳達(dá)請(qǐng)求的協(xié)議以及請(qǐng)求中涉及的客戶(hù)端和服務(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頭信息、查詢(xún)字符串等等。Http URL包含下列信息:

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

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

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

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

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

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

查詢(xún)字符串可以在web頁(yè)面上直觀的顯示

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

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

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

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

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

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

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

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

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

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

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

相關(guān)文章

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

    時(shí)間:2017年09月03日星期日說(shuō)明:本文部分內(nèi)容均來(lá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開(kāi)源運(yùn)用 課程實(shí)戰(zhàn) 課程總結(jié) 面向切面編程是一種...

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

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

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

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

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

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

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

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

0條評(píng)論

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