ServletContext(重要)

一、ServletContext是Servlet三大域对象之一(session、request、Application(ServletContext))。

  一个项目只有一个ServletContext对象!

  我们可以在N多个Servlet中来获取这个唯一的对象,使用它可以给多个Servlet传递数据!

  这个对象在Tomcat启动时就创建,在Tomcat关闭时才会死去!

二、作用:

  在整个Web应用的动态资源之间共享数据,例如在AServlet中向ServletContext对象中保存一个值,然后在BServlet中就可以获取这个值,这就是共享数据了。

三、获取ServletContext

  1、ServletConfig#getServletContext();

  2、GenericServlet#getServletContext();

  3、HttpSession#getServletContext()

  4、ServletContextEvent#getServletContext()

五、ServletContext是JavaWeb四大域对象之一:(PageContext、ServletRequest、HttpSession、ServletContext)

  所有域对象都有存取数据的功能,因为域对象内部有一个Map,用来存储数据。

  void setAttribute(String name, Object value):在ServletContext中保存了一个域属性,域属性名称为xxx,域属性的值为XXX。

  Object getAttribute(String name):用来获取ServletContext中的数据,当前在获取之前需要先去存储才行,例如:String value =

(String)servletContext.getAttribute(“xxx”);

  void removeAttribute(String name):用来移除ServletContext中的域属性

  Enumeration getAttributeNames():获取所有域属性的名称;

转载于:https://www.cnblogs.com/ab10/p/4875364.html

ServletContextJava Web中的一个重要接口,它代表了Web应用程序在服务器中的上下文环境。在一个Web应用程序中,每个Servlet都可以访问同一个ServletContext对象,从而实现Servlet之间的数据共享和通信。 在Java中,可以使用ServletConfig对象的getServletContext()方法来获取ServletContext对象,然后使用该对象的方法来实现一系列操作,例如: 1. 获取Web应用程序的初始化参数:可以使用ServletContext对象的getInitParameter()方法来获取Web应用程序的初始化参数,例如数据库连接等配置信息。 ```java String username = context.getInitParameter("username"); ``` 2. 获取Web应用程序的真实路径:可以使用ServletContext对象的getRealPath()方法来获取Web应用程序的真实路径,例如获取Web应用程序中的一个文件的绝对路径。 ```java String path = context.getRealPath("/WEB-INF/config.properties"); ``` 3.ServletContext中保存数据:可以使用ServletContext对象的setAttribute()方法来在ServletContext中保存数据,从而实现Servlet之间的数据共享。 ```java context.setAttribute("key", value); ``` 4.ServletContext中获取数据:可以使用ServletContext对象的getAttribute()方法来从ServletContext中获取数据,例如获取其他Servlet保存的数据。 ```java Object value = context.getAttribute("key"); ``` 需要注意的是,ServletContext对象的作用域为整个Web应用程序,因此需要注意数据的安全性和可靠性。另外,ServletContext对象是在Web应用程序启动时创建的,因此可以在Servlet的init()方法中获取ServletContext对象并进行初始化操作,例如读取配置文件等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值