• Web开发的四个域


    web开发中的四个域(重点)

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

    page : PageContext对象

    request : request对象

    session : session对象

    application : ServletContext对象

     

    1. 4个对象的生命周期?

    生命周期就是指对象的创建到销毁的期间

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

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

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

    application: web应用加载的时候创建(开始), web应用被移除或服务器关闭,对象销毁(结束)

     

     

    2. 四个域的作用范围

    什么是域?为什么把这4个对象叫做域对象呢?

    域: 即范围的意思

    web中的域对象,可以存储对象,在作用范围内都可以取到

    内部是Map集合的实现 Map<String, Object>

     

    class PageContext {

    private Map map = new HashMap();

    private HttpSession session;

    ……

     

    page:  只在当前jsp页面有效

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

    // session: 默认情况下,同一个浏览器来访问有效(发送同一个sessionid)

    session : 只在一次会话中有效,会话结束就无法取到数据了 (特殊情况,发送Cookie)

    application : 在一个web应用中有效  (只要服务器不关,web应用不移除就可以取数据)

    四个域对象的范围由小到大排列依次为: page request session application

     

    3. 哪种情况下用哪种域对象。

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

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

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

    request:数据只是做显示的,看完了就没用了,就存request

     请求转发, Servlet 产生的处理结果(数据交给jsp显示,

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

     用户登陆,用户信息发给客户端看,看完了,一会访问别的页面还要看用户信息

     购物车,购物成功了,给用户看购物车,待会随时可以查看购物车

     请求重定向,因为是两次请求,第一次请求的数据,第二次请求还要看

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

    聊天室,聊天记录,需要给所有的用户看

    统计网站在线人数,所有人看到的应该是一个数

     

    总结: 需要定义Map不如用page,请求转发Servlet带给jsp的数据存request

    请求重定向带过去的数据存Session,全局的数据存application

  • 相关阅读:
    层的问题,
    创建一个函数,返回元素个数为n的int型数组中的最小值
    c语言中编写函数求五个学生中的最高分
    c语言中没有形参的函数(例题:逆向输出正整数)
    创建一个函数,对元素个数为n的int型数组进行倒序排列。
    c语言 函数中数组的传递, 形参和实参。
    c语言中函数的传递和const类型的修饰符
    c语言中的文件作用域、函数原型声明、定义声明和非定义声明
    c语言中文件包含指令和头文件
    c语言中数组元素的线性查找
  • 原文地址:https://www.cnblogs.com/qq809306794/p/3167550.html
Copyright © 2020-2023  润新知