[Tapestry5] Tapestry集成spring启动tomcat6.0错误
hefuren
2009-08-10
启动tomcat错误:
2009-8-10 0:07:14 org.apache.catalina.core.StandardContext filterStart 严重: Exception starting filter TapestrySpring java.lang.NullPointerException at org.apache.tapestry5.internal.TapestryAppInitializer.addSyntheticSymbolSourceModule(TapestryAppInitializer.java:133) at org.apache.tapestry5.internal.TapestryAppInitializer.<init>(TapestryAppInitializer.java:112) at org.apache.tapestry5.TapestryFilter.init(TapestryFilter.java:74) at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275) at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397) at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108) at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3709) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4363) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525) at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:926) at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:889) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) at org.apache.catalina.core.StandardHost.start(StandardHost.java:719) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) at org.apache.catalina.core.StandardService.start(StandardService.java:516) at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) at org.apache.catalina.startup.Catalina.start(Catalina.java:578) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) 2009-8-10 0:07:14 org.apache.catalina.core.StandardContext start 严重: Error filterStart 2009-8-10 0:07:14 org.apache.catalina.core.StandardContext start 严重: Context [/Colleges] startup failed due to previous errors 我的web.xml为: <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <context-param> <param-name>contextConfigLocation</param-name> <param-value> classpath:com/colleges/spring/applicationContext.xml, classpath:com/colleges/spring/*-context.xml </param-value> </context-param> <filter> <filter-name>cacheFilter</filter-name> <filter-class>com.opensymphony.oscache.web.filter.CacheFilter</filter-class> </filter> <filter> <filter-name>TapestrySpring</filter-name> <filter-class>org.apache.tapestry5.spring.TapestrySpringFilter</filter-class> </filter> <filter-mapping> <filter-name>TapestrySpring</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <listener> <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class> </listener> --> <servlet> <description>Direct Web Remoter Servlet</description> <display-name>DWR Servlet</display-name> <servlet-name>dwr-invoker</servlet-name> <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class> <init-param> <param-name>debug</param-name> <param-value>true</param-value> </init-param> <load-on-startup>20</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dwr-invoker</servlet-name> <url-pattern>/dwr/*</url-pattern> </servlet-mapping> <mime-mapping> <extension>css</extension> <mime-type>text/css</mime-type> </mime-mapping> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> </welcome-file-list> <session-config> <session-timeout>120</session-timeout> </session-config> </web-app> |
|
hefuren
2009-08-10
如果web.xml文件中去掉:
<filter> <filter-name>TapestrySpring</filter-name> <filter-class>org.apache.tapestry5.spring.TapestrySpringFilter</filter-class> </filter> <filter-mapping> <filter-name>TapestrySpring</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> 这段代码后,就能启动了。 为什么呢 ?困惑了好几天了。 |
|
fantify
2009-08-11
如果你改用<filter-class>org.apache.tapestry5.TapestryFilter</filter-class>是什么结果呢?
|
|
hefuren
2009-08-11
谢谢,你的热心,问题解决了。
我需要在web.xml文件前面加上: <context-param> <param-name>tapestry.app-package</param-name> <param-value>com.colleges.tapestry</param-value> </context-param> 这个就可以了。 但是是否使用了tapestry的过滤器,我还在后续的开发中,才能验证。 |