servlet 数据存储几种方式和jsp 作用域

来源:互联网 发布:c语言中char 使用 编辑:程序博客网 时间:2024/06/09 22:43

有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();

原创粉丝点击