request对象
(1)访问请求参数
处理HTTP请求中的各项参数。在这些参数中,最常用的就是获取访问请求参数。当通过超链接的形式发送请求时,可以为该请求传递参数,这可以通过在超链接的后面加上问好“?”来实现,例如如下的例子,发送一个请求到delete.jsp页面,并传递一个名称为id的参数:
改页面的作用是在文件中添加一个用于链接到deal.jsp页面的超链接,并传递两个参数。
通过request对象的getParameter()方法获取请求参数id,user,pwd并输出,对于不存在的参数返回null。
(2)在作用域中管理属性
在进行请求时,需要把一些数据传递到转发后的页面进行处理。这时就需要使用request对象的setAttribute()方法将数据保存到request范围内的变量中。
name:变量名,String类型,在转发后的页面取数据时,就是根据这个变量名来获取数据。
object:用于指定需要在request范围内传递的数据,为Object类型
在数据保存到request范围内的变量中后,可以通过request对象的getAttribute()方法获取变量的值:
例如如下例子
(3)获取cookie
cookie是小段的文本信息,在网络服务器上生成并发送给浏览器。通过使用cookie可以标识用户身份,记录用户名和密码,跟踪重复用户。浏览器将cookie以key/value的形式保存到客户机的指定目录中。
例如,通过cookie保存并读取用户登录信息:
(4)解决中文乱码问题
有时请求参数的文字编码方式与页面中的不一致会导致乱码问题,因为所有的request请求都是ISO-8859-1的,而有时页面采用的是UTF-8的编码方式。要解决此问题,学好英语的方法只要将获取到的数据通过String的构造方法使用指定的编码类型重新构造一个String对象,即可正确的显示出中文信息。例如:
response对象
response对象用于响应客户的请求,向客户端输出信息。它封装了JSP产生的响应,并发送到客户端以响应客户端的请求。请求的数据可以是各种数据类型,甚至是文件。response对象在JSP页面内有效。
(1)重定向网页
使用response对象提供的sendRedirect()方法可以将网页重定向到另一个页面。重定向操作支持将地址重定向到不同的主机上,这点不同于转发(< jsp:forward>)。在客户端上将会得到跳转的地址,并重新发送请求连接。进行重定向操作后,request中的属性全部失效,并开始一个新的request对象。
默认执行的是index.jsp界面,在index.jsp界面中调用response对象的setRedirect()方法重定向页面到用户登录界面login.jsp。
(2)处理HTTP文件头
禁用缓存
设置页面自动刷新
使网页每隔10秒刷新一次
定时网页跳转
session对象
session在网络中称为会话。由于HTTP请求是一种无状态请求,当一个客户向服务器发出请求,服务器接收请求,并返回响应,该链接就结束了,而服务器并不保存相关信息。为了弥补这一缺点,HTTP协议提供了session。通过session可以在应用程序的Web页面间进行跳转,保存用户的状态,使整个用户会话一直存在下去,知道关闭浏览器。GPA但是,在一个会话中,客户端穿长时间不向服务器发出请求,session对象就会自动消失。Request 是在一次请求范围,Session 是在一次会话中,也就是说,你从一开始进入页面到你离开页面时,都属于一次会话当中,也就是说它的作用范围比Request要广,你在任何页面都可以用session.getAttribute(“values”);得到values的值!
通过session对象可以存储或读取客户相关的信息。可以通过setAttribute()方法和getAttribute()方法实现。例如:
在index.jsp界面提供输入用户名文本框
在session.jsp界面中,将用户在index.jsp页面中输入的用户名保存在session对象中,并为用户提供用于添加最想去的地址的文本框
在result.jsp页面中,实现显示用户输入的用户名与最喜欢去的地方
application对象
application对象用于保存所用应用程序中的公有数据。它在服务器启动时自动创建,在服务器停止时销毁。当application对象没有被销毁时,所有的用户都可以共享application对象。与session对象相比,application对象的生命周期更长,类似于系统的“全局变量”。