gpt4 book ai didi

java - ServletContext 属性为空

转载 作者:行者123 更新时间:2023-11-29 03:56:42 24 4
gpt4 key购买 nike

属性 repository 返回 null

public class BaseServlet extends HttpServlet {
protected MyPersistentManager getPersistentManager(){
return (MyPersistentManager) getServletContext().getAttribute("repository");
}
//...
}

我在这里设置:

public class ServletListener implements ServletContextListener {

public void contextInitialized(ServletContextEvent sce) {
/*
load data
*/
ServletContext servletContext = sce.getServletContext();
MyPersistentManager persistentManager = new MyPersistentManager();
servletContext.setAttribute("repository", persistentManager);
}
}

为什么没有设置?好像上下文没有初始化?我试图重置 Tomcat,但这并没有解决问题。我正在使用 Netbeans。

最佳答案

是否在web.xml中注册了ServletListener类?

<listener>
<listener-class>mypackage.ServletListener</listener-class>
</listener>

来自documentation : “此接口(interface)的实现接收有关它们所属的 Web 应用程序的 servlet 上下文更改的通知。要接收通知事件,必须在 Web 应用程序的部署描述符中配置实现类。 "

关于java - ServletContext 属性为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6012515/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com