2011-01-28 2 views
1

Я пытался прочитать базу данных в моем JSF webapp. Я использую код, указанный в блоге BalusC Код:JSF NullPointerException at SeamViewHandler.calculateLocale

Однако, когда я создал все, и я запустить его на Tomcat 6 Я получил эту ошибку (полный stractrace):

SEVERE: uncaught exception 
java.lang.NullPointerException 
    at org.jboss.seam.Component.getInstance(Component.java:1859) 
    at org.jboss.seam.Component.getInstance(Component.java:1852) 
    at org.jboss.seam.Component.getInstance(Component.java:1829) 
    at org.jboss.seam.web.Session.getInstance(Session.java:122) 
    at org.jboss.seam.contexts.FacesLifecycle.beginRequest(FacesLifecycle.java:54) 
    at org.jboss.seam.jsf.SeamPhaseListener.beforeRestoreView(SeamPhaseListener.java:366) 
    at org.jboss.seam.jsf.SeamPhaseListener.beforeServletPhase(SeamPhaseListener.java:137) 
    at org.jboss.seam.jsf.SeamPhaseListener.beforePhase(SeamPhaseListener.java:114) 
    at com.sun.faces.lifecycle.Phase.handleBeforePhase(Phase.java:214) 
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:96) 
    at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:103) 
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) 
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206) 
    at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290) 
    at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388) 
    at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
    at 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:298) 
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) 
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) 
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 
    at java.lang.Thread.run(Unknown Source) 
2011-01-28 15:38:46 org.jboss.seam.jsf.SeamPhaseListener beforePhase 
SEVERE: swallowing exception 
java.lang.NullPointerException 
    at org.jboss.seam.Component.getInstance(Component.java:1859) 
    at org.jboss.seam.Component.getInstance(Component.java:1852) 
    at org.jboss.seam.Component.getInstance(Component.java:1829) 
    at org.jboss.seam.web.Session.getInstance(Session.java:122) 
    at org.jboss.seam.contexts.FacesLifecycle.beginRequest(FacesLifecycle.java:54) 
    at org.jboss.seam.jsf.SeamPhaseListener.beforeRestoreView(SeamPhaseListener.java:366) 
    at org.jboss.seam.jsf.SeamPhaseListener.beforeServletPhase(SeamPhaseListener.java:137) 
    at org.jboss.seam.jsf.SeamPhaseListener.beforePhase(SeamPhaseListener.java:114) 
    at com.sun.faces.lifecycle.Phase.handleBeforePhase(Phase.java:214) 
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:96) 
    at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:103) 
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) 
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206) 
    at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290) 
    at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388) 
    at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
    at 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:298) 
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) 
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) 
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 
    at java.lang.Thread.run(Unknown Source) 
2011-01-28 15:38:46 com.sun.faces.lifecycle.Phase doPhase 
SEVERE: JSF1054: (Phase ID: RESTORE_VIEW 1, View ID:) Exception thrown during phase execution: javax.faces.event.PhaseEvent[[email protected]] 
2011-01-28 15:38:46 org.jboss.seam.jsf.SeamPhaseListener afterPhase 
SEVERE: uncaught exception 
java.lang.NullPointerException 
    at org.jboss.seam.jsf.SeamPhaseListener.raiseEventsAfterPhase(SeamPhaseListener.java:421) 
    at org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:175) 
    at com.sun.faces.lifecycle.Phase.handleAfterPhase(Phase.java:175) 
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:114) 
    at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:103) 
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) 
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206) 
    at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290) 
    at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388) 
    at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
    at 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:298) 
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) 
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) 
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 
    at java.lang.Thread.run(Unknown Source) 
2011-01-28 15:38:46 org.jboss.seam.jsf.SeamPhaseListener afterPhase 
SEVERE: swallowing exception 
java.lang.NullPointerException 
    at org.jboss.seam.jsf.SeamPhaseListener.raiseEventsAfterPhase(SeamPhaseListener.java:421) 
    at org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:175) 
    at com.sun.faces.lifecycle.Phase.handleAfterPhase(Phase.java:175) 
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:114) 
    at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:103) 
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) 
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206) 
    at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290) 
    at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388) 
    at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
    at 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:298) 
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) 
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) 
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 
    at java.lang.Thread.run(Unknown Source) 
2011-01-28 15:38:46 org.ajax4jsf.webapp.BaseXMLFilter doXmlFilter 
SEVERE: Exception in the filter chain 
javax.servlet.ServletException 
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:277) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206) 
    at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290) 
    at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388) 
    at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
    at 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:298) 
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) 
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) 
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 
    at java.lang.Thread.run(Unknown Source) 
Caused by: java.lang.NullPointerException 
    at org.jboss.seam.jsf.SeamViewHandler.calculateLocale(SeamViewHandler.java:55) 
    at org.ajax4jsf.application.ViewHandlerWrapper.calculateLocale(ViewHandlerWrapper.java:65) 
    at com.sun.faces.application.ViewHandlerImpl.createView(ViewHandlerImpl.java:372) 
    at org.jboss.seam.jsf.SeamViewHandler.createView(SeamViewHandler.java:68) 
    at org.ajax4jsf.application.ViewHandlerWrapper.createView(ViewHandlerWrapper.java:79) 
    at org.ajax4jsf.application.AjaxViewHandler.createView(AjaxViewHandler.java:93) 
    at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:204) 
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100) 
    at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:103) 
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) 
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265) 
    ... 18 more 
+0

Эта проблема связана с швом. Я не делаю Seam, но похоже, что он не очень хорошо работает на Tomcat 6. Некоторые [результаты Google] (http://www.google.com/search?q=java.lang.NullPointerException+at + org.jboss.seam.jsf.SeamViewHandler.calculateLocale) подтверждает это. Это, по крайней мере, не связано с моими статьями, поскольку это не касается Seam. – BalusC

+1

Оказалось, что один небольшой файл jar из рамки шва остался восстановленным из проекта и вызвал эту ошибку. И кстати. Ваш учебник отличный BalusC:> –

+0

Просто хочу отметить, что вы не должны следовать учебным пособиям @BalusC в письме для проектов шва. Не говоря о том, что учебники плохие, наоборот, но они слишком полны для шва. Вместо этого используйте документацию по швам. –

ответ

0

Это, как представляется, будет искать настройки локали - у вас есть один набор в файлах конфигурации, и если это так же, что локаль существуют в вашем приложение?

1

Я получил эту же ошибку, и обнаружил, что проблема была, на самом деле, что я забыл пару строк в web.xml для активации Seam слушателей:

<listener> 
    <listener-class>org.jboss.seam.servlet.SeamListener</listener-class> 
</listener> 

Это пахнет, как легко повторяемые ошибки так что, возможно, этот ответ может быть решением для некоторых несчастных людей, которые ищут решение. (OTOH, как любой NullPointerException, может случиться много других причин, ни один из них не описан в трассировке стека, насколько я вижу.)