今天主要來記錄一下
HttpServletRequest 和 HttpServlerResponse
是HttpServlet 的doGet()和doPost()所接受的參數
分別繼承了ServlerRequest及ServlerResponse的interface
較常使用到的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是接收字串格式的資料
較常使用到的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