通過前面的學(xué)習(xí)远寸,我們知道請求到達(dá)容器后容器會創(chuàng)建HttpServletRequest實例抄淑,并將請求的信息保存到實例中。在創(chuàng)建請求實例的同時容器也會創(chuàng)建HttpServletResponse實例而晒,以便我們向客戶端做出響應(yīng)蝇狼。
HttpServletResponse
HttpServletResponse是一個接口,它由容器負(fù)責(zé)實現(xiàn)和創(chuàng)建實例倡怎。它作為Servlet的服務(wù)器方法(doGet迅耘、doPost、doDelete)的參數(shù)之一监署,用來向客戶端返回消息或指示瀏覽器設(shè)定cookie等操作颤专。
常用方法
getWriter
取得應(yīng)答流對象
setContentType
設(shè)定返回的MIME格式
encodeURL
對URL重編碼使其帶上SESSIONID
addCookie
指示瀏覽器寫入的cookie對象
演示
以下代碼向瀏覽器返回一段標(biāo)準(zhǔn)HTML
中文亂碼
如果你將上面的代碼照搬到項目,你就會發(fā)現(xiàn)答應(yīng)消息中的中文又變成了亂碼钠乏。原因是以上的代碼還沒告訴瀏覽器返回是什么類型的內(nèi)容栖秕,瀏覽器按默認(rèn)編碼的方式進(jìn)行了解析。解決方法也很簡單晓避,應(yīng)答前指定MIME格式并指定編碼方式即可簇捍。
思考
現(xiàn)在的網(wǎng)頁有成百上千行代碼,如采用演示代碼的方式來應(yīng)答俏拱,估計會讓人崩潰暑塑。為提高編程效率,繼Servlet之后產(chǎn)生了JSP技術(shù)锅必,它可以很好的解決此類問題事格。JSP本質(zhì)上就是Servlet,它對servlet進(jìn)行了包裝降低編程難度搞隐,但夯實Servlet知識對學(xué)習(xí)JSP百利而無一害驹愚。