JAVA Servlet-ServletContext 对象 笔记

ServletContext对象

(一)每一个web应用都有且仅有一个ServletContext对象,又称Application对象,从名称中可知,该对象是与应用程序相关的。在WEB容器启动的时候,会为每一个WEB应用程序创建一个对应的ServletContext对象。
(二)该对象有两大作用,第一、作为域对象用来共享数据,此时数据在整个应用程序中共享;第二、该对象中保存了当前应用程序相关信息。例如可以通过getServerlnfo()方法获取当前服务器信息,getRealPath(Stringpath)获取资源的真实路径等。

ServletContext对象的获取

四种获取方式

        ServletContext context=request.getServletContext();//常用第一种
        
        ServletContext context1=getServletContext();//第二种
        
        ServletContext context2=request.getSession().getServletContext();//没有request 可以用 Session方式
        
        ServletConfig config=getServletConfig();//第四种
        ServletContext context3=config.getServletContext();

常用方法(获取和设置)

        context.setAttribute("name","张三");//设置
        
        context.getAttribute("name");//获取
        
        context.removeAttribute("name");//移除

Servlet 中的三大域对象(数据共享,数据保存)

request域对象 Session域对象 ServletContext域对象
一次请求中有效。请求转发有效,重定向无效 一次会话中有效。请求转发,重定向都有效 ,Session销毁后失效 在整个应用程序中有效,服务器关闭后失效

总结

可以通过ServletContext来存取数据,可以使某个数据在整个应用程序中共享,但不建议存放过多的数据,因为ServletContext中的数据一旦储存进去就没办法进行手动移除,会一直保存。

猜你喜欢

转载自blog.csdn.net/LiuxXn/article/details/112260442