iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 7
1

前言

今天主要來記錄一下
HttpServletRequest 和 HttpServlerResponse
是HttpServlet 的doGet()和doPost()所接受的參數
分別繼承了ServlerRequest及ServlerResponse的interface


HttpServlerRequest

較常使用到的method

  • getParameter("name")
    取出form的的參數

  • gerParameterValues()
    和getParameter相同,只是回傳的是string array

  • getHeader("User-Agent")
    client 的browser資訊以字串回傳)

  • getIntHeader("User-Agent")
    client 的browser資訊(以整數回傳)

  • getCookies()
    取出cookies相關資訊

  • getSession()
    取出cilent的session

  • getMethod()
    request的HTTP方法

  • getInputStream()
    request的InputStream
    通常如果只是取參數值會使用getParameter或是gerParameterValues
    但若是當資料內容很大的時候,資料內容包含文字或二進位的的內容
    就會使用該方法取得InputStream物件
    可運用在upload的時候
    和他很像的方法為getReader(),如果兩個同時呼叫會拋出IllegalStateException例外

  • getRemotePort()
    取得cilent的port

  • getServerPort()
    request要被送往的port

  • getLocalPort()
    request最後送出的port

其中除了getParameter,gerParameterValues,getInputStream
以及getRemotePort,getServerPort,getLocalPort是ServletRequest所提供的之外
其他部分都是由HttpServletRequest提供

API:
ServletRequest
http://docs.oracle.com/javaee/6/api/javax/servlet/ServletRequest.html

HttpServletRequest
http://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletRequest.html

另外關於getParameter
還有一個跟他很像的method叫做getAttribute
但差別在於getAttribute是取一個物件(同時也有setAttribute這個method)
而getParameter是接收字串格式的資料

HttpServlerResponse

較常使用到的method

  • setContentType()
    通常使用在呼叫getOutputStream()或getWrite()之前
    設定所response所回傳的內容形式(mime types)

  • getOutputStream()
    寫入非字元資料,使用write輸出

  • getWriter()
    處理字元資料用,使用println()輸出

  • setHeader()
    override既有的head值

  • addHeader()
    添加額外的head值

  • setIntHeader()
    以整數取代現有的head值,或在response增加新的head值

以上setContentType,getOutputStream和getWriter都是ServlerResponse所提供的
其餘為HttpServlerResponse提供

API:
ServlerResponse
https://tomcat.apache.org/tomcat-5.5-doc/servletapi/javax/servlet/ServletResponse.html

HttpServlerResponse
http://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletResponse.html


參考資料:

http://informationgrocery.blogspot.tw/2009/11/javagetparametergetattribute.html

http://openhome.cc/Gossip/ServletJSP/GetReaderInputStream.html


上一篇
[Day 6] Servlet生命週期
下一篇
[Day 8] ServletConfig & ServletContent - part1
系列文
30 days JSP & Servlet學習紀錄 30

尚未有邦友留言

立即登入留言