java四大域总结

Java四大作用域对象

1、为什么他们是域对象

  • 同样都内置了map集合,都有setAttribute和getAttribute方法

2、四大作用域

  • page(jsp页面)域–>PageContext
  • request(请求)域–>request HttpServletContext
  • session(会话)域–>session HttpSession
  • application域(web应用)–>application ServletContext

3、作用范围

从小到大依次排序为

  • Page域:四大域中最小的一个,作用在当前的jsp页面
  • request域:在整一个请求链,请求转发也存在
  • session域:一次会话
  • application域:整一个的web应用

4、生命周期

  • Page域:Jsp请求时开始,响应结束时销毁

  • request域:在service方法调用前由服务器创建,传入service方法,整个请求结束

  • session域:

    简单点来说就是:创建、活动、销毁

    第一次调用request.getSession()方法时,服务器会检查是否已经有对应的session,如果没有就在内存中创建一个session并返回。

    当一段时间内session没有被使用(默认为30分钟),则服务器会销毁该session。如果服务器非正常关闭(强行关闭),没有到期的session也会跟着销毁。如果调用session提供的invalidate() ,可以立即销毁session。

    Session的销毁只有三种方式:
    1.调用了session.invalidate()方法
    2.session过期(超时)
    3.服务器重新启动

  • application域:web应用被加载到容器时创建代表整个web应用的ServletContext对象,服务器关闭或者Web应用被移除是,ServletContext跟着被销毁。

5、作用

  • Page域
    • 可以实现在前端写入后端Java代码
    • 获取八大隐式对象
    • 获取其中所有域的数据
    • 在跳转到其他资源的过程中,自身携带有forword和include方法,简化了重定向和转发的操作
  • request域
    • 共享数据
    • 请求转发
    • 实现Servlet和servlet之间的数据传输功能
  • session域
    • 可以把信息或数据存在session中
    • 多个页面都可以访问到
  • application域:整一个的web应用
    • 在不同的servlet之间转发
    • 读取资源文件

6、代码实现举例

  • Page域

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
    <% int x=10;%>//定义一个x变量
    x=<%=x%>//输出到页面
    </body>
    </html>
    

    启动tomcat页面输出

    x=10
    

    但是如果说,在除此之外的页面访问,都会报一个500错误,说明page页面的变量不能在该页面以外访问

  • request域

    • Servlet1(存数据)

      public class Servlet1 extends HttpServlet {
             
          @Override
          protected void doGet(HttpServletRequest req
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乘凉者 栽树人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值