欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

Javaweb监听器listenerServletContextListener全局配置加载

时间:2023-06-15
ServletContextListener全局配置加载

写法:

@WebListenerpublic class contextListener implements ServletContextListener { @Override public void contextInitialized(ServletContextEvent servletContextEvent) { } @Override public void contextDestroyed(ServletContextEvent servletContextEvent) { }}

实例————配置加载————(通过ServletContextListener将web.xml 中的配置信息加载到 ServletContext中 便于servlet 通过req.getServletContext().getAttribute(“xxx”)方法访问)

web.xml:

<?xml version="1.0" encoding="UTF-8"?> url http://www.yspan.work topic javaweb监听器练习项目

contextListener:

@WebListenerpublic class contextListener implements ServletContextListener { @Override public void contextInitialized(ServletContextEvent servletContextEvent) { System.out.println(" contextListener contextInitialized"); ServletContext servletContext= servletContextEvent.getServletContext(); String url=servletContext.getInitParameter("url"); String topic=servletContext.getInitParameter("topic"); Config config=new Config(); config.setTopic(topic); config.setUrl(url); servletContext.setAttribute("config",config); } @Override public void contextDestroyed(ServletContextEvent servletContextEvent) { System.out.println(" contextListener contextDestroyed"); }}

Cpnfig

public class Config { private String url; private String topic; public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public String getTopic() { return topic; } public void setTopic(String topic) { this.topic = topic; }}

testServlet:

@WebServlet("/testServlet")public class testServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { Config config= (Config) req.getServletContext().getAttribute("config"); System.out.println(config.getTopic()); }}

截图
未访问/testServlet

访问后

总结

什么是监听器:

监听器是一个实现了特定接口的普通Java类,用于监听其他对象的创建和销毁,监听其他对象的方法执行和属性改变; avaweb里面的监听器:

作用:监听域对象的创建和销毁,比如request/session/context

分类:

ServletContextLitener HttpSessionListener ServletRequestListener

监听器的实现步骤:
(1)创建一个普通的Java类 (2)让该类实现监听器的接口 (3)在该类中实现监听器接口的所有方法
(4)旧版的在web.xml文件中通过标签来配置监听器,新版使用 @WebListener

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。