历史版本2 :request、response与session 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. request对象:编辑

该对象封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息,即使用该对象可以获取用户提交信息。
request.getAttribute("key")可得到JSP页面存入Value。在实际的存储中,key和value是存放在一个哈希表中的,所以在这里给出String的Key会到哈希表中找出对应他的value。
而不同页面间传值使用request.setAttribute(key, value)时,只会从a.jsp到b.jsp一次请求,之后如果有第二次请求,这个request就会失去它的作用范围,再传就要再设置一次request.setAttribute(key,value)或者使用request的forward()方法跳转也可以(因为它是一次请求)。而使用session.setAttribute()会在一个过程中始终保有这个值。

2. response对象:编辑

包含了响应客户请求的有关信息,但在JSP中很少直接用到它。它是HttpServletResponse类的实例。response对象用于动态响应客户端请示,控制发送给用户的信息,并将动态生成响应。在响应客户端请求之前,一般可以先设置客户端响应的编码格式,以防客户端出现乱码。response.setCharacterEncoding("GBK");
response既可以在本网站跳转,也可以跳转到其他网站中;在跳转过程中,相当于在URL地址栏中重新输入URL,是第二次请求,所以在request和response保存的数据就不存在了。

3. session对象编辑

指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止。它是HttpSession类的实例.

Session:用于保存每个用户的专用信息。Session中的信息保存在Web服务器的内存中,保存的数据量可大可小。当Session超时或被关闭时将自动释放保存的数据信息。对于小量的数据Session对象保存还是一个不错的选择。具体的session对象刻意参考其他章节:Session问题集锦和Session赋值并获取。