tomcat启动时读取数据库到缓存,实现的ServletContextListener如何在Spring加载后初始化? 120
我已经implementsServletContextListener,并且web.xml中也已经写在Springlistener的后面,但老是先加载我的Listener...
我已经implements ServletContextListener,并且web.xml中也已经写在Spring listener的后面,但老是先加载我的Listener,导致我不能使用Spring的注入,怎么办
展开
5个回答
展开全部
web.xml中加载顺序不对吧,应该先加载Spring的,再加载自定义的监听,就可以了,如下:
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext-*.xml,classpath*:applicationContext-*.xml</param-value>
</context-param>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!--log4j2-->
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/classes/log4j2.xml</param-value>
</context-param>
<context-param>
<param-name>log4jRefreshInterval</param-name>
<param-value>60000</param-value>
</context-param>
<!--自定义的监听-->
<listener>
<listener-class>com.xxx.listener.WebContextListener</listener-class>
</listener>
这样的话,就可以了
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext-*.xml,classpath*:applicationContext-*.xml</param-value>
</context-param>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!--log4j2-->
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/classes/log4j2.xml</param-value>
</context-param>
<context-param>
<param-name>log4jRefreshInterval</param-name>
<param-value>60000</param-value>
</context-param>
<!--自定义的监听-->
<listener>
<listener-class>com.xxx.listener.WebContextListener</listener-class>
</listener>
这样的话,就可以了
展开全部
Spring listener提出来写一个文件,在web.xml里面先导入Spring的文件,试试,加载顺序可能有变化。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我已经实现了在ServletContextListener中使用Spring注入的各个bean,但是对数据库进行操作时会有异常,缓存溢出异常.我正在想是不是因为数据库数据太多,导致内存溢出了呢.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
哥们你解决了没有?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
请贴一段代码
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询