Servlet-HttpServletRequest和HttpServletResponse解釋和常用方法

HttpServletRequest和HttpServletResponse

一個Http請求對象,一個Http響應對象。

在這裏插入圖片描述

HttpServletRequest

HttpServletRequest,見名知義,就能知道它是通過HTTP協議請求Servlet的對象,它封裝了HTTP請求攜帶的所有信息。

當客戶端請求服務器上web應用的某個Servlet時,請求參數和請求的信息就會全部被封裝到該對象中,我們使用該對象就能獲取這些信息。

通俗講,就是客戶端來請求Servlet,總要帶點東西唄[/調皮],這個東西就是請求對象HttpServletRequest,這個請求對象僅限於http請求,它有一個父類ServletRequest,ServletRequest就能代表各種協議的請求。

ServletRequest的常用方法有:

方法 作用
public Object getAttribute(String name); 獲取該請求域中存儲的指定屬性值
public Enumeration getAttributeNames(); 獲取該請求域中所有的屬性名
public String getCharacterEncoding(); 返回該請求對象指定的編碼,若未指定,返回null
public void setCharacterEncoding(String env) throws UnsupportedEncodingException; 爲該請求設置指定的編碼方式
public int getContentLength(); 獲取請求正文的長度,如果長度超過int類型的最大值,返回-1
public long getContentLengthLong(); 獲取請求正文的長度,超過long類型的最大值就返回-1
public String getParameter(String name); 獲取該請求中指定的參數值,返回字符串
public Enumeration getParameterNames(); 獲取該請求中所有的參數名
public String[] getParameterValues(String name); 獲取該請求中指定參數名的值,返回數組類型
public Map<String, String[]> getParameterMap(); 獲取該請求中所有的參數和值,返回map集合
public void setAttribute(String name, Object o); 在該請求域中設置名爲name,值爲o的屬性
public void removeAttribute(String name); 移除該請求域中指定的屬性
public RequestDispatcher getRequestDispatcher(String path); 獲取該請求轉發到指定路徑的轉發器對象

HttpServletRequest的常用方法有:

方法 作用
public Cookie[] getCookies(); 獲取請求中攜帶的所有Cookie數據,沒有就返回null
public String getHeader(String name); 獲取指定的請求頭攜帶的信息
public Enumeration getHeaderNames(); 獲取該請求中所有的請求頭
public String getMethod(); 獲取該請求的客戶端請求方式
public String getContextPath(); 返回請求URI中指示請求上下文的部分,請求路徑除開前面的協議主機和端口,之後的部分
public String getRequestURI(); 返回整個請求的URL,包括協議,主機名和端口
public HttpSession getSession(boolean create); 獲取與當前請求關聯的session,如果沒有與之關聯的session而且傳入參數爲true時,它就會創建一個session並返回,如果沒有與之關聯的session並且傳入參數爲false,就返回null。
public HttpSession getSession(); 獲取一個與當前請求關聯的session對象,如果不存在就創建一個並返回
public Collection getParts() throws IOException, ServletException; 獲取此請求的所有Part組件,前提是該請求的類型爲multipart / form-data
public Part getPart(String name) throws IOException, ServletException; 獲取該請求中指定名字的Part,該請求的類型爲multipart / form-data

HttpServletResponse

HttpServletResponse,同理,它就是通過HTTP協議請求Servlet只後響應給客戶端的對象,它封裝了Servlet響應給客戶端的信息。

通俗來講,在Http請求的前提下,Servlet收到客戶端的請求之後,不能把客戶端“晾”着吧,Servlet在處理完客戶端的請求之後,就需要”回禮“給客戶端,在這裏就是說的響應對象。

HttpServletResponse也有個父類叫ServletResponse,ServletResponse就是響應各種協議的對象。

ServletResponse的常用方法:

方法 作用
public String getCharacterEncoding(); 獲取響應對象的編碼
public ServletOutputStream getOutputStream() throws IOException; 獲取響應的ServletOutputStream對象
public PrintWriter getWriter() throws IOException; 獲取響應的PrintWriter對象
public void setCharacterEncoding(String charset); 設置響應的編碼

HttpServletResponse的常用方法:

方法 作用
public void addCookie(Cookie cookie); 向響應中寫入cookie
public boolean containsHeader(String name); 判斷響應中是否包含某個響應頭
public void sendRedirect(String location) throws IOException; 響應給客戶端,讓客戶端重定向到location
public void setHeader(String name, String value); 設置響應頭信息
public void addHeader(String name, String value); 添加響應頭信息
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章