servlet中響應get請求的方法有哪些?
Service()方法
在Service() 這個方法里面,有servletRequest和servletResponse兩個參數。Servlet中的接口中的 service(ServletRequest servletRequest, ServletResponse servletResponse) 方法用于應答請求。實例代碼在文末。
1、 原因是每次用戶請求都會都會調用 service() 方法。
2、 servletRequest 封裝了請求信息(通過J2EE的官方文檔中能找到全部的方法)。
3、servletResponse 封裝了響應信息,如果想給用戶什么響應,具體可以使用該接口方法實現。
一、 Request的具體實現
通過 ServletRequest 的對象有多種獲取請求參數的方式,這里就只拿出最常用的四種方法作為講解。可以了解一下J2EE的文檔里面有哪些方法。
1、 String -> getParameter(String name)
String為返回值,用于獲取單個值。
2、 String [] -> getParameterValues(String name)
用于獲取多個值
3、 Enumeration -> getParameterNames()
獲取多個name對應的單個值
4、 Map ->getParameterMap()
獲取全部的值,以鍵值對的方式存在Map中。
二、 獲取請求URI、請求方式、域名后面的路徑、參數
ServletRequest的對象并不能獲取這些數據,但是HttpServletRequest的對象就可以獲取到,所以需要強轉一下對象HttpServletRequest httpServletRequest =(HttpServletRequest) servletRequest;就可以使用以下的方法了。
1、getRequestURI() 如 /login
2、getMethod() 如 post
3、getQueryString() 如 xxx?userid=123&name=DJun
4、getServletPath() 如 /login
三、 Response的具體實現
Response大家都知道是用于回復用戶的請求內容。介紹一下下面兩個函數:
1、 getWriter() 通過PrintWriter的對象將回復的內容打印到頁面中
PrintWriter printWriter = servletResponse.getWriter();
printWriter.println("Hello,World!");
2、 setContentType() 設置內容類型(Header)
如,
返回一個word給用戶下載: servletResponse.setContentType("application/msword");
返回HTML或者是文本類型:servletResponse.setContentType("text/html;charset=UTF-8");