web开发中四个域的生命周期和作用域

来源:互联网 发布:淘宝店家不同意退款 编辑:程序博客网 时间:2024/03/29 21:02

Web开发中的四个域对象:

有范围小到大:page(jsp有效) request(一次请求)session(一次会话) application(当前web应用)

page域指的是pageContext.

request域指的是requestHttpServletRequest

session 域指的是 sessionHTTPSession

application 域指的是 applicationServletContext

追所以他们是域对象,原因就是他们都内置了map集合,都有setAttribute getAttribute方法。

他们都有自己固定的生命周期和作用域。

这4个对象的生命周期

声明周期就是值对象的创建到销毁的期间。

page:jsp页面被执行,生命周期开始,jsp页面执行完毕,声明周期结束

request:用户发送一个请求,开始,服务器返回响应,请求结束,生命周期结束

session:用户打开浏览器访问,创建session(开始),session超时或被声明失效,该对象生命周期结束

application:web应用加载的时候创建。Web应用被移除或服务器关闭,对象销毁。[结束]。

Page只在当前jsp有效,每次请求风别对应不同的request.

Request,只在当前请求有效,每次请求分别对应不同的request域

Session只在一次会话中有效,会话结束就无法取到数据了。

四个域对象在选择的时候,能用范围小的绝不用范围大的

page:数据只是暂时存在集合,在jsp页面的其他地方要用,用page(页面中自定义的map)

     (什么时候需要用map了,就用page)

Request:数据只是做显示的,看完了就没用了。就存request域,请求转发,Servlet产生的处理结果(数据)交给jsp显示。 数据转发可以带数据。

Session:数据给用户看完了,一定还要用,会话结束了就没用了

     用户登录,用户信息发给客户端看,看完了,一会访问别的页面还要看用户信息。     购物车,购物车成功了,给用户看购物车,待会随时间可以查看购物车     请求重定向,因为是两次请求,每一次请求的数据,第二次请求还要看。

application:数据给一个用户用完了,别人还要用

     聊天室,聊天记录,需要给所有的用户看     统计网站在线人数,所有看到的应该是一个数

总结:需要定义Map不如用page,请求转发Servlet,带给jsp的数据存request请求重定向带过去的数据存Session,全局的数据存application。

0 0
原创粉丝点击