有5个对象保存数据:
ServletContext ---application
当tomcat服务一启动,数据保存一致有效,当tomcat服务一停止,ServletContext对象消失。
session----session
当第一次用户输入一个网址,且带有一些数据,告诉web服务器需要的文件,web服务器接收请求,首先建立request对象,然后建立session对象,如果这一请求包括几个jsp页面,那么这些页面全部可以共享session对象的数据,一直到web服务器把用户需要的网页传回后,request对象没有了,session对象未销毁,然后在客户端cookie里保存一个唯一id号。
用户第二次请求资源时,带有一个唯一id的参数,web服务器一看,是同一个用户,session继续有用,不建立新session对象。
注意:如果web服务器设置一个超时,如果在半小时之内,客户端不请求资源,表示这一通话结束,web服务器把对象session销毁。
request--request:
当第一次用户输入一个网址,且带有一些数据,告诉web服务器需要的文件,web服务器接收请求,建立request对象放客户传过来的参数,如果这一请求包括几个jsp页面,那么这些页面全部可以共享request对象的数据,一直到web服务器把用户需要的网页传回后,request对象销毁。
多次重复这一过程。
repose-----page
1、request 对象:客户从浏览器的一次请求后,web服务器建立request对象,存入所有传过来的东西。
request对象里面有(session对象)---
2、Session 对象:一个用户第一次访问网站时,服务器建立session对象,并产生一个唯一的id 返回给客户,让它保存在coockie,主要是单个用户--对应jsp的session
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { HttpSession session = request.getSession(); }
Session 对象是存在request 中,表示request 对象可以和session对象相连,java中的合成技术。
session.setAttribute("userName", "theUserName");
String userName = (String) session.getAttribute("userName");
tomcat conf/web.xm
<session-config>
<session-timeout>30</session-timeout>
</session-config>
web服务号器设置一个超时,如果这个时间内用户不操作,就清除seesion对象。
3、repose 对象:repose随着request对象同时建立,但是没有值,只要返回前,可以在里面放要输出的数据。
4、ServletContext 对象:可以表示多个sevlet,相同整个应用的存数据的对象,context
对象是存在session对象中,表示session对象可以和context对象相连,java中的合成技术,主要是对应多个用户。
对应jsp-----
context.setAttribute(request"someValue", "aValue");
Object attribute = context.getAttribute("someValue")
5、Cookie对象:用户记录一些用户访问网站的信息。
Cookie cookie = new Cookie("myCookie", "myCookieValue"); response.addCookie(cookie);
Cookie[] cookies = request.getCookies();