前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JavaWeb作用域之ServletContext

JavaWeb作用域之ServletContext

作者头像
高大北
发布2022-06-14 20:34:03
1970
发布2022-06-14 20:34:03
举报
文章被收录于专栏:java架构计划训练营

什么是作用域?

  • 就是对象的声明周期,在JavaWeb中有多个不同声明周期的对象
  • 比如:PageContext,ServletRequest,HttpSession,ServletContext
  • 对象里面包含属性和对应的数据,所以不同作用域对象使用场景会不同

ServletContext

  • 它代表了servlet环境的上下文,相当于一个全局存储空间
  • 同一个WEB应用程序,所有的Servlet和JSP都可以共享同一个区域,是最大的作用域对象(webapps下的每个目录就是一个应用程序)
  • 四大作用域对象-用于存取数据:
    • PageContext(页面)->ServletRequest(请求)->HttpSession(会话)->【ServletContext】(应用)
  • 声明周期:在WEB服务器启动时创建,服务器关闭时销毁

示🌰

  • 存储全局数据(只要是同一个应用,都可以共享这些数据,类似map结构)
  • web.xml中的配置
代码语言:javascript
复制
  <context-param>
    <param-name>url</param-name>
    <param-value>fl.net</param-value>
  </context-param>
代码语言:javascript
复制
@WebServlet(name = "userServlet",value = "/user1")
public class UserServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("doGet");
        //设置响应内容
        resp.setContentType("text/html;charset=utf-8");
        PrintWriter printWriter = resp.getWriter();
        printWriter.write("<div>doGet可以了</div>");

        ServletContext servletContext = this.getServletContext();
        String url = servletContext.getInitParameter("url");
        System.out.println(url);

        servletContext.setAttribute("appInfo","net Info");
    }
}
代码语言:javascript
复制
@WebServlet(name = "testServlet",value = "/test")
public class TestServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //设置响应内容
        resp.setContentType("text/html;charset=utf-8");
        PrintWriter printWriter = resp.getWriter();
        printWriter.write("<div>doGet可以了</div>");

        ServletContext servletContext = this.getServletContext();
        Object appInfo = servletContext.getAttribute("appInfo");
        System.out.println("appInfo:"+appInfo);
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是作用域?
  • ServletContext
  • 示🌰
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档