ServletContext共享资源

servlet原理图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TwwMkfjL-1638711542173)(DDL.assets/image-20211205170427914.png)]

ServletContext

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GhU2MC3f-1638711542174)(DDL.assets/image-20211205200638727.png)]

web容器在启动的时候,它会为每个web程序都创建了一个对应的ServletContext对象,它代表了当前的web应用

  • 共享数据

    我们在这个Servlet中保存的数据,可以在另外一个Servlet中拿到

    public class HelloServlet extends HttpServlet {
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            ServletContext servletContext = this.getServletContext();
            String name = "王铁丸";
            servletContext.setAttribute("name",name);
        }
    }
    
    public class Getc extends HttpServlet {
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            ServletContext servletContext = this.getServletContext();
            String name = (String) servletContext.getAttribute("name");
            resp.setCharacterEncoding("utf-8");
            resp.setContentType("text/html");
            PrintWriter writer = resp.getWriter();
            writer.println(name);
    
        }
    }
    
    • web.xml的配置
    <!--注册Servlet-->
      <servlet>
        <servlet-name>hello</servlet-name>
        <servlet-class>com.kuang.servlet.HelloServlet</servlet-class>
      </servlet>
      <!--Servlet的请求路径-->
      <servlet-mapping>
        <servlet-name>hello</servlet-name>
        <url-pattern>/hello</url-pattern>
      </servlet-mapping>
    
      <!--注册Servlet-->
      <servlet>
        <servlet-name>getc</servlet-name>
        <servlet-class>com.kuang.servlet.Getc</servlet-class>
      </servlet>
      <!--Servlet的请求路径-->
      <servlet-mapping>
        <servlet-name>getc</servlet-name>
        <url-pattern>/getc</url-pattern>
      </servlet-mapping>
    

    测试访问结果

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DkPe2fSm-1638711542175)(DDL.assets/image-20211205213756232.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o9SWzm8S-1638711542176)(DDL.assets/image-20211205213813906.png)]


版权声明:本文为Hold__原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。