javaweb3【ServletContext知识】
知识
ServletContext 核心概念与功能
ServletContext 是 Java Web 开发中用于表示 Web 应用上下文的核心接口,由 Servlet 容器(如 Tomcat)创建,贯穿整个应用生命周期。其核心功能包括:
全局数据共享:通过 getAttribute()
和 setAttribute()
方法实现跨 Servlet 的数据传递,适用于应用级变量存储。
资源访问:通过 getResource()
或 getResourceAsStream()
获取应用内的静态资源(如配置文件、图片)。
初始化参数管理:通过 getInitParameter()
读取 web.xml
中配置的 <context-param>
参数1。
典型应用场景
跨请求数据共享:例如用户登录后,将用户信息存入 ServletContext,供其他 Servlet 或 JSP 页面调用。
资源路径解析:动态加载配置文件(如数据库连接参数)时,避免硬编码路径。
注意事项
线程安全:ServletContext 本身是线程安全的,但共享数据需自行同步(如使用 ConcurrentHashMap
)。
生命周期:与 Web 应用一致,从容器启动到关闭,需避免内存泄漏
// 初始化时读取配置参数
String dbUrl = getServletContext().getInitParameter("db.url"); // 共享数据到其他 Servlet
getServletContext().setAttribute("userList", userList);