Я получил эту ошибку, когда я попытался получить доступ к своему сайту с помощью разработки http://localhost/home/index.html, который перенаправляет на http://localhost/home/views/main/index.xhtml:Tomcat ошибка: не найден в ExternalContext как ресурс
java.io.FileNotFoundException: /views/main/index*.xhtml Not Found in ExternalContext as a Resource
Я использую Tomcat 7.0.8, Mojarra JSF 2.0.4 с Eclipse Helios. Я проверил файл развертывания WAR для файла index.xhtml, и он находится в файле WAR. Я также проверил каталог ../wtpwebapps/home/views/main и увидел, что Eclipse развернул файл index.xhtml.
StackTrace Я получил это:
07/02/2011 3:58:53 AM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [Faces Servlet] in context with path [/home] threw exception
java.lang.NullPointerException
at com.sun.faces.lifecycle.RestoreViewPhase.notifyAfter(RestoreViewPhase.java:301)
at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:114)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:312)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:306)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:383)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:166)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:288)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Я не знаю, почему я получаю вышеуказанную ошибку. Может ли кто-нибудь помочь?
Что такое настройка? – BalusC
Да, пожалуйста, опишите проблему? У меня схожие проблемы. – BernardMarx
@BernardMarx: В то время я объявлял версию 'webapp' как' 2.0' в 'web.xml' вместо' 3.0' для Tomcat 7. Думаю, это было результатом отсутствия сон и слишком много кофеина! - :). Теперь я использую сервер Glassfish 3.1. Было бы слишком много работать, чтобы Tomcat работал правильно, особенно если вы используете EJB 3 и JPA 2 вместе с JSF 2. – ChuongPham