ServletContextListener未被调用的可能原因是什么?

时间:2011-06-22 13:47:48

标签: java servlets

我正在学习Java服务器,我遇到了ServletContextListener的问题。我看到它没有被调用,所以当我执行getAttribute时它总是返回null,因为该属性没有在实现ServletContextListener的类中设置。我已经在web.xml中解码了代码,我发现它也在那里进行了解  还有什么问题呢? 代码很长,所以我会发布一小部分内容。

package common;

// import stuff

public class ServerContextListener implements ServletContextListener {

    @Override
    public void contextInitialized(ServletContextEvent event) {

      ServletContext context = event.getServletContext();
      context.setAttribute(Const.ATTR_LICENSES, licenses); 
      // code here
    }
}

@Override
    public void contextDestroyed(ServletContextEvent event) {

        // code here
    }

// other file
Licenses licenses = (Licenses) context.getAttribute(Const.ATTR_LICENSES); // this returns null

这是web.xml的一部分:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <session-config>
        <session-timeout>30</session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
    <display-name>mymob</display-name>

    <context-param>
        <param-name>jobQueueName</param-name>
        <param-value>mobileJobQueue</param-value>
 </context-param>
  <listener>
        <listener-class>common.ServerContextListener</listener-class>
    </listener>

//other parameters

0 个答案:

没有答案