1.httpServletRequest
客戶端瀏覽器發出的請求被封裝成一個httpServletRequest對象,該對象中包含了所有的信息包括請求的地址,請求的參數,提交的數據,上傳的文件客戶端的IP甚至客戶端操作系統等。HttpServletResponse繼承了ServletResponse接口,並提供了Http協議有關的方法。
一.獲取客戶端提交的數據
1.getParameter(Stringarg0):String
獲取指定名稱的參數值
2.getParameterMap():Map<String,String[]>
返回一個保存了請求消息中的所有參數名和值的Map對象。Map對象的key是字符串類型的參數名,value是這個參數所對應的object類型的值數組。
3.getParameterNames():Enumeration<String>
返回一個包含請求消息中的所有參數名的Enumeration對象
4.getParameterValues(Stringarg0):String[]
獲取指定名稱參數的所有值數組
5.getInputStream():ServletInputStream
獲取請求的輸入流中的數據
6.getSession():HttpSession
返回和客戶端相關的session,若沒有給客戶端分配session,則返回null
7.getSession(boolean arg0):HttpSession
返回和客戶端相關的session,若沒有給客戶端分配session,則創建一個session並返回
8.getCookies():Cookie[]
返回客戶端發送的cookie
9.getAttributeNames():Enumeration<String>
返回當前請求的所有屬性的名字集合
10.getAttribute(String arg0):Object
返回name指定的屬性值
二.獲取連接消息
1.getRemoteAddr():String
返回客戶端的ip地址
2.getRemoteHost():String
返回客戶端的主機名,若無法解析,則返回IP地址
3.getRemotePort():int
返回客戶端的端口號
4.getLocalAddr():String
返回服務器的IP地址
5.getLocalName():String
返回服務器的主機名
6.getLocalPort():int
返回服務器的端口號
7.getServerName():String
返回http請求消息的host字段的主機號部分
8.getServerPort():int
返回http請求消息的host字段的端口號部分
9.getScheme():String
返回請求的協議名
10.getRequestURL():StringBuffer
返回完整的請求URL(?之前的部分)
11.getServerPath():String
獲取請求的文件的路徑
2.HttpServletResponse
三.獲取請求頭消息
1.getHeader(String arg0):String
返回指定的頭字段的值
2.getHeaders(String arg0):Enumeration<String>
返回重名頭字段的值,該方法返回一個java.util.Enumeration
3.getHeaderNames():Enumeration<String>
返回一個包含所有頭字段名字的Enumeration對象
4.getIntHeader(Stringarg0):int
返回指定的頭字段的值,並將其轉換爲int
5.getDateHeader(Stringarg0):long
返回指定的頭字段的值,並將其轉換爲long
6.getContentType():String
返回請求正文的內容類型
7.getContentLength():int
返回請求正文的長度,單位是字節,如未指定長度,則返回-1
8.getCharacterEncoding():String
返回請求正文的字符集編碼。如沒有指定,則返回null。
9.getReader():BufferedReader
獲取請求體的數據流
四.獲取請求行消息
1.getMethod():String
返回請求行中的請求方法(如get、post)
2.getRequestURI():String
返回請求行中的資源部分(不包括參數)
3.getQueryString():String
返回查詢字符串(即請求行中的參數部分),該查詢字符串在一個URL中由一個?引出,如果沒有查詢字符串,返回null。
4.getProtocol():String
返回請求行中的協議部分
5.getContextPath():String
返回該請求所屬的Web應用的路徑
對於一個Servlet在每次請求訪問時,Servlet引擎都會創建一個描述請求消息和一個描述響應消息的對象。其中描述響應消息的對象實現了HttpServletResponse接口。
1.addCookie(Cookiearg0):void
將指定的cookie加入到當前的響應中
2.addDateHeader(Stringarg0,long arg1):void
用給定的名稱和日期添加一個響應頭
3.addHeader(Stringarg0,String arg1):void
將指定的名字和值加入到響應的頭信息中
4.addIntHeader(Stringarg0,int arg1):void
添加一個給定名稱的響應頭和整數值
5.containsHeader(Stringarg0):boolean
該方法用於檢查某個字段是否在響應消息頭中存在,如果存在,則返回true,否則返回false。
6.encodeURL(Stringarg0):String
編碼指定的URL
7.getOutputStream():ServletOutputStream
如果響應正文是非字符文本的數據或者是不需要進行編碼轉換的字符文本,建議使用字節輸出流的方式返回響應正文。
8.getWriter():PrintWriter
如果響應正文全部是字符文本,並且需要進行編碼轉換,建議使用gatWriter方法。
從getWriter方法返回的PrintWriter對象不僅能很方便的向客戶端返回相應正文,而且還會根據響應消息頭的Content-Type所指定的字符編碼格式自動轉換響應正文(PrintWriter返回的響應正文是編碼轉換後的文本)。
9.sendError(intarg0):void
使用指定狀態碼發送一個錯誤到客戶端
10.sendRedirect(Stringarg0):void
Arg0指定重定向的URL,該URL既可以是絕對的,也可以是相對的。該方法用更快捷的方式來設置響應狀態碼302,表示需要客戶端重定向URL。
11.setCharacterEncoding(Stringarg0):void
這個方法實際上是設置Content-Type字段的字符集部分
注意:
在使用這個方法之前,如果Content-Type不存在,則必須先添加Content-Type,否則該方法設置的字符集類型也不會出現在響應消息頭上。
12.setContentLength(intarg0):void
該方法用於設置相應正文的大小,單位是字節。Servlet引擎會根據向客戶端實際輸出的響應正文的大小自動設置Content-Length字段的值。
13.setContentType(Stringarg0):void
該方法設置Content-Type字段的值。(即設置MIME類型)
14.setDateHeader(Stringarg0,long arg1):void
將給出的名字和日期設置響應的頭部
15.setHeader(Stringarg0,String arg1):void
將給出的名字和值設置響應的頭部
16.setIntHeader(Stringarg0,int arg1):void
設置一個給定名稱的響應頭和整數值
17.setStatus(intarg0):void
給當前響應設置狀態碼