在我们的软件中,我们使用了 myfaces 1,实现了 2 个过滤器。首先是 /jsf,另一个是 /1,其映射类位于 web.xml 文件中。它适用于 myfaces 1,但是当我们在 Web 应用程序的每个页面上将 myfaces 版本从 1 升级到 2 时,我们开始出现空指针错误。
java.lang.NullPointerException 在 org.apache.myfaces.context.MyFacesExceptionHandlerWrapperImpl.handle(MyFacesExceptionHandlerWrapperImpl.java:202) 在 javax.faces.context.ExceptionHandlerWrapper.handle(ExceptionHandlerWrapper.java:64) 在 org.apache.myfaces.lifecycle。 LifecycleImpl.render(LifecycleImpl.java:261) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:199) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache .catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 在 com.calendra.portal.SessionFilter.doFilter(SessionFilter.java:91) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235 ) 在 org.apache.catalina.core.ApplicationFilterChain。doFilter(ApplicationFilterChain.java:206) 在 com.calendra.jsf.components.XSLFilter.doFilter(XSLFilter.java:92) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 在 org.apache .catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 在 org.apache.myfaces.component.html.util.MultipartFilter.doFilter(MultipartFilter.java:131) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:235) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 在 org.apache。 catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 在 org.apache.catalina.core。StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org .apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:291) 在 org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:877) 在 org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process (Http11AprProtocol.java:594) 在 org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1675) 在 java.lang.Thread.run(Thread.java:619)109) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:291) 在 org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:877) 在 org.apache.coyote.http11.Http11AprProtocol $Http11ConnectionHandler.process(Http11AprProtocol.java:594) at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1675) at java.lang.Thread.run(Thread.java:619)109) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:291) 在 org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:877) 在 org.apache.coyote.http11.Http11AprProtocol $Http11ConnectionHandler.process(Http11AprProtocol.java:594) at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1675) at java.lang.Thread.run(Thread.java:619)
在 jsp 文件中,我使用如下调度方法重定向到新页面 context.getExternalContext().dispatch("/jsf/1/stdportal/login.jsp");
当我从上面的调度方法的参数中删除 /jsf 时,我没有遇到任何问题,一切正常......但我希望它也能与 /jsf 一起使用......**。
我的应用服务器是 Tomcat 6,Java 版本是 6。
在此先感谢 Akshay