HttpServletRequest /HttpServletResponse

一、HttpServletRequest接口   
  定义   
  public   interface   HttpServletRequest   extends   ServletRequest;   
  用来处理一个对Servlet的HTTP格式的请求信息。   
  方法   
  1、getAuthType   
  public   String   getAuthType();   
  返回这个请求的身份验证模式。   
  2、getCookies   
  public   Cookie[]   getCookies();   
  返回一个数组,该数组包含这个请求中当前的所有cookie。如果这个请求中没有cookie,返回一个空数组。   
  3、getDateHeader   
  public   long   getDateHeader(String   name);   
  返回指定的请求头域的值,这个值被转换成一个反映自1970-1-1日(GMT)以来的精确到毫秒的长整数。   
  如果头域不能转换,抛出一个IllegalArgumentException。如果这个请求头域不存在,这个方法返回-1。   
  4、getHeader   
  public   String   getHeader(String   name);   
  返回一个请求头域的值。(译者注:与上一个方法不同的是,该方法返回一个字符串)   
  如果这个请求头域不存在,这个方法返回-1。   
  5、getHeaderNames   
  public   Enumeration   getHeaderNames();   
  该方法返回一个String对象的列表,该列表反映请求的所有头域名。   
  有的引擎可能不允许通过这种方法访问头域,在这种情况下,这个方法返回一个空的列表。   
  6、getIntHeader   
  public   int   getIntHeader(String   name);   
  返回指定的请求头域的值,这个值被转换成一个整数。   
  如果头域不能转换,抛出一个IllegalArgumentException。如果这个请求头域不存在,这个方法返回-1。   
  7、getMethod   
  public   String   getMethod();   
  返回这个请求使用的HTTP方法(例如:GET、POST、PUT)   
  8、getPathInfo   
  public   String   getPathInfo();   
  这个方法返回在这个请求的URL的Servlet路径之后的请求URL的额外的路径信息。如果这个请求URL包括一个查询字符串,在返回值内将不包括这个 查询字符串。这个路径在返回之前必须经过URL解码。如果在这个请求的URL的Servlet路径之后没有路径信息。这个方法返回空值。   
  9、getPathTranslated   
  public   String   getPathTranslated();   
  这个方法获得这个请求的URL的Servlet路径之后的额外的路径信息,并将它转换成一个真实的路径。在进行转换前,这个请求的URL必须经过URL解码。如果在这个URL的Servlet路径之后没有附加路径信息。这个方法返回空值。   
  10、getQueryString   
  public   String   getQueryString();   
  返回这个请求URL所包含的查询字符串。一个查询字串符在一个URL中由一个“?”引出。如果没有查询字符串,这个方法返回空值。   
  11、getRemoteUser   
  public   String   getRemoteUser   
  返回作了请求的用户名,这个信息用来作HTTP用户论证。   
  如果在请求中没有用户名信息,这个方法返回空值。   
  12、getRequestedSessionId   
  public   String   getRequestedSessionId();   
  返回这个请求相应的session   id。如果由于某种原因客户端提供的session   id是无效的,这个session   id将与在当前session中的session   id不同,与此同时,将建立一个新的session。   
  如果这个请求没与一个session关联,这个方法返回空值。   
  13、getRequestURI   
  public   String   getRequestURI();   
  从HTTP请求的第一行返回请求的URL中定义被请求的资源的部分。如果有一个查询字符串存在,这个查询字符串将不包括在返回值当中。例如,一个请求通过 /catalog/books?id=1这样的URL路径访问,这个方法将返回/catalog/books。这个方法的返回值包括了Servlet路径 和路径信息。   
  如果这个URL路径中的的一部分经过了URL编码,这个方法的返回值在返回之前必须经过解码。   
  14、getServletPath   
  public   String   getServletPath();   
  这个方法返回请求URL反映调用Servlet的部分。例如,一个Servlet被映射到/catalog/summer这个URL路径,而一个请求使用 了/catalog/summer/casual这样的路径。所谓的反映调用Servlet的部分就是指/catalog/summer。   
  如果这个Servlet不是通过路径匹配来调用。这个方法将返回一个空值。   
  15、getSession   
  public   HttpSession   getSession();   
  public   HttpSession   getSession(boolean   create);   
  返回与这个请求关联的当前的有效的session。如果调用这个方法时没带参数,那么在没有session与这个请求关联的情况下,将会新建一个session。如果调用这个方法时带入了一个布尔型的参数,只有当这个参数为真时,session才会被建立。   
  为了确保session能够被完全维持。Servlet开发者必须在响应被提交之前调用该方法。   
  如果带入的参数为假,而且没有session与这个请求关联。这个方法会返回空值。   
  16、isRequestedSessionIdValid   
  public   boolean   isRequestedSessionIdValid();   
  这个方法检查与此请求关联的session当前是不是有效。如果当前请求中使用的session无效,它将不能通过getSession方法返回。   
  17、isRequestedSessionIdFromCookie   
  public   boolean   isRequestedSessionIdFromCookie();   
  如果这个请求的session   id是通过客户端的一个cookie提供的,该方法返回真,否则返回假。   
  18、isRequestedSessionIdFromURL   
  public   boolean   isRequestedSessionIdFromURL();   
  如果这个请求的session   id是通过客户端的URL的一部分提供的,该方法返回真,否则返回假。请注意此方法与isRequestedSessionIdFromUrl在URL的拼写上不同。   
  以下方法将被取消   
  19、isRequestedSessionIdFromUrl   
  public   boolean   isRequestedSessionIdFromUrl();   
  该方法被isRequestedSessionIdFromURL代替。

2,HttpServletResponse

所有Servlet响应都实现ServletResponse接口。ServletResponse接口主要有以下方法: 
(1)从Servlet中可以通过getWriter方法取得PrintWriter对象,来输出字符数据。从Servlet中可以通过 getOutputStream方法取得ServletoutputStream对象。ServletOutputStream既可以输出字符数据,也可 以输出MIME格式的二进制数据。如果getWriter方法已经被使用过,当使用getOutputStream时,会有 java.lang.IllegalStateException例外抛出。 
(2)setContentType方法:在响应中可以表明内容格式和长短。 
(3)setBufferSize方法:设置Web容器的缓冲器大小; getBufferSize方法返回Web容器的缓冲器大小; resetBuffer方法清空并重置缓冲器,使用reset方法清空缓冲器、状态头信息,使用flushBuffer方法将缓冲器内的所有输出内容向客 户传递。使用isCommitted方法判断是否响应已经被履行。“履行”的定义是指状态码冬耕 信息已经被写入响应。 
(4)setLocal方法设定响应的地域信息,主要在Web程序的国际货币国际化时使用。这个方法应该在getWriter之前被使用。默认的Web服务器的地域信息。

HttpServletResponse 继承了ServletResponse接口,并提供了与Http协议有关的方法,这些方法的主要功能是设置HTTP状态码和管理Cookie。 
(1)setStatus方法用来设置Servlet向客户端返回的状态码,它用来设置没有出错的状态。如果Servlet运行出 错,Servlet可以使用sendError方法设置状态码,如sendError(int sc)方法设置错误状态代码。sendError(int sc,String msg)方法除了设置状态码,还向客户发出一条错误信息。 
(2)setHeader可以指定特定名称的头信息的值,addDateheader,addIntHeader,setDateHeader,setIntHeader可以加入或理性特定时间或整数型头信息。 
(3)addCookie方法可以在Web服务器响应中加入Cookie对象,这个对象将被浏览器所保存。Cookie机制也被用来维护会话状态。 
(4)sendRedirect方法向客户发出临时重新导向的响应。它生成的响应状态码为302。该响应给了客户一个新的URL风趣。如果缓冲器已经被清空,这个方法会弹出一个IllegalStateException例外。

时间: 2024-08-07 08:37:46

HttpServletRequest /HttpServletResponse的相关文章

“The code of method _jspService(HttpServletRequest, HttpServletResponse) is exceeding the 65535 bytes limit” 的我之解決办法 (转)

“The code of method _jspService(HttpServletRequest, HttpServletResponse) is exceeding the 65535 bytes limit” 的我之解決辦法 - 兔子吃南瓜 - 博客频道 - CSDN.NET http://blog.csdn.net/rabbiteatpumpkin/article/details/4743104 昨天,我遇到了一个让我很头疼的问题. 我做了一个共通的jsp,单只测它是ok的,可是,放在

【明哥报错簿】之【 "javax.servlet.http.HttpServlet" was not found on the Java Build Path || HttpServletRequest/HttpServletResponse cannot be resolved to a type】

The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path login.jsp /day12_estore/WebRoot line 1 JSP Problem 解决: 1. 我们遇到的错误显示如下: 2.我们右击有错误提示的文件夹,如下: 3.我们点击"配置构建路径",如下: 4.我们再点击"添加库",如下: 5.我们选中上图中标出的选

The code of method _jspService(HttpServletRequest, HttpServletResponse) is exceeding the 65535 bytes limit

解法: 修改tomcat下的web.xml,     搜索:JspServlet, 增加: <init-param> <param-name>mappedfile</param-name> <param-value>false</param-value> </init-param>

HttpServletRequest/HttpServletResponse乱码问题解决

1.request.setCharacterEncoding只对POST请求起作用.GET请求用new String(paramterData.getBytes("iso8859-1"),"UTF-8"); 2.response.setContentType指定HTTP 响应的编码,同时指定了浏览器显示的编码. 等价于response.setCharacterEncoding指定HTTP 响应的编码和response.setHeader("contentT

14SpringMvc_在业务控制方法中写入HttpServletRequest,HttpServletResponse等传统web参数(这个知识点知道就好了,不推荐这么去做)

这篇文章解决的问题是怎么在业务方法里面引入我们熟悉的HttpServletRequest和HttpServletRespon? 答案:这种引入传统的web参数的做法不推荐去做,因为这么做会实行高度耦合. 但还是说一下这种做法: 在Action修改代码如下: package com.guigu.shen.Action7; import java.io.IOException; import javax.servlet.http.HttpServletRequest; import javax.se

好记性不如烂笔头11-WEB应用的HttpServletResponse

HttpServletResponse是java开发的web应用中,一个很常见也很重要对象,HttpServletResponse往往和HttpServletRequest成对的出现. 1.HttpServletResponse对象 Web服务器收到一个http请求,会针对每个请求创建一个HttpServletRequest和HttpServletResponse对象.向客户端发送数据找HttpServletResponse,从客户端获取数据用HttpServletRequest; HttpSe

Struts2中获取HttpServletRequest,HttpSession等的几种方式

转自:http://www.kaifajie.cn/struts/8944.html package com.log; import java.io.IOException; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import o

ServletRequest、 HttpServletRequest、Request的联系与区别

一. servlet理论上可以处理多种形式的请求响应形式 http只是其中之一 所以HttpServletRequest HttpServletResponse分别是ServletRequest和ServletResponse的之类二 . HttpServletRequest和ServletRequest都是接口 HttpServletRequest继承自ServletRequest HttpServletRequest比ServletRequest多了一些针对于Http协议的方法.如getHe

BaseServlet

Java web----BaseServlet,web----baseservlet 1 BaseServlet的作用 在开始客户管理系统之前,我们先写一个工具类:BaseServlet. 我们知道,写一个项目可能会出现N多个Servlet,而且一般一个Servlet只有一个方法(doGet或doPost),如果项目大一些,那么Servlet的数量就会很惊人. 为了避免Servlet的“膨胀”,我们写一个BaseServlet.它的作用是让一个Servlet可以处理多种不同的请求.不同的请求调用