1 java tomcat servlets servlet-filters
下面是我的部署描述符.我正在使用Spring MVC,但是我有一个url重写过滤器应该运行,然后转发到相应的控制器.出于某种原因,此过滤器在启动时加载,尝试获取转换的路径,并抛出nullpointerexception,因为没有路径.我从来不知道在启动时加载了过滤器,但这看起来就像正在发生的事情.
<!-- SERVLETS -->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/index.html</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<!-- FILTERS -->
<filter>
<filter-name>URLRewriteFilter</filter-name>
<filter-class>com.ecomm.filters.URLRewriteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>URLRewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Run Code Online (Sandbox Code Playgroud)
编辑:
Aug 17, 2010 11:28:12 AM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
at com.ecomm.helpers.TranslateURLHelper.executeController(TranslateURLHelper.java:47)
at com.ecomm.filters.URLRewriteFilter.doFilter(URLRewriteFilter.java:41)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:879)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Unknown Source)
Run Code Online (Sandbox Code Playgroud)
看起来您正在使用Eclipse在ROOT上下文中部署webapp.Eclipse的Tomcat插件确实在启动时通过在ROOT上发出GET请求进行自检.
只是忽略它或修复代码,以便它不会抛出NPE.这是IMO绝对是一个错误com.ecomm.filters.URLRewriteFilter.不应将空路径视为例外情况.最终用户可以将它们解雇.
| 归档时间: |
|
| 查看次数: |
2412 次 |
| 最近记录: |