请求响应与会话相关内容

2019-06-06  本文已影响0人  IT_lz

一、HttpServletResponse对象

1、发送状态码相关的方法

  • setStatus() 设置响应状态码, 默认为200
  • sendError() 设置响应错误码

2、发送响应消息头的相关方法

下面为设置响应头信息的一些方法

  • addHeader()
  • setHeader()
  • setIntHeader()
  • addIntHeader()

下面是设置字符编码的一些方法,主要用于防止乱码现象发生。

  • setContentType()
  • setLocale()
  • setCharactorEncoding()

上述三个编码方法,setCharactorEncoding()优先级最高。如果没有设置Content-Type头字段,则setCharactorEncoding设置的字符编码不会出现在Content-Type字段中。

在解决中文乱码时,可以使用两种方法:

  • Response.setCharactorEncoding("utf-8");

Response.setHeader("Content-Type", "text/html;charset=utf-8");

  • Response.setContentType("text/html;charset=utf-8");

二、RequestDispatcher接口

如果服务器通知另外一个资源去处理请求,可以使用sendRedirect()之外,还可以使用

RequestDispatcher接口来处理。RequestDispatcher接口包含两个方法,forward()请求转发、include()请求包含。

1、请求转发forward()

当前servlet可通过forward()方法将请求转发给其他servlet,其他servlet处理完请求后,直接将响应结果传递给客户端。

2、请求包含include()

将servlet请求转发给其他web资源,与请求转发不同的是,在请求包含的响应信息中,既包含了当前servlet的响应信息,还包含其他web资源返回的响应信息。

三、Cookie

1、Cookie

存储在客户端本地,用于后台区分用户。

Set-Cookie: user=liu; Path=/;

user代表Cookie名称

Path表示Cookie属性

2、Cookie Api

四、Session

Session是一种将会话数据保存在服务器端的技术。

1、HttpSession Api

2、Session超时管理

由于服务器不清楚客户端浏览器何时不访问,如果长期保留Session,会使得服务器内存耗尽。所以需要给Session设置超时时间。Tomcat默认超时时间是30分钟。如果session-timeout设置为0或者负数,则Session永不超时。

<session-config>
   <session-timeout>30</session-timeout>
</session-config>

使Session超时的方法:1、等待超时时间 2、调用invalidate()强制其失效

上一篇下一篇

猜你喜欢

热点阅读