0

我按照本指南 ( http://wiki.jetbrains.net/intellij/Developing_JSF_applications ) 使用 JSF 创建了一个简单的 Hello world 应用程序。它运行良好,并生成一个http://localhost:8080/index.faces显示短语“Hello world”的页面。问题是 Tomcat 7 日志显示严重错误。这是它所说的:

2013 年 1 月 31 日下午 5:58:42 org.apache.catalina.core.StandardWrapperValve 调用严重:Servlet.service() 用于路径 [] 上下文中的 servlet [jsp] 引发异常 [处理 JSP 页面/索引时发生异常。第 14 行的 jsp

11:简单jsp页面12:13:14:15:16:
17:

Stacktrace:] 与根本原因 java.lang.RuntimeException: 无法在 javax.faces.webapp.UIComponentClassicTagBase.setJspId(UIComponentClassicTagBase.java:1672) 的 javax.faces.webapp.UIComponentClassicTagBase.getFacesContext(UIComponentClassicTagBase.java:1855) 找到 FacesContext org.apache.jsp.index_jsp._jspx_meth_f_005fview_005f0(index_jsp.java:111) 在 org.apache.jsp.index_jsp._jspService(index_jsp.java:83) 在 org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java: 70) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 在 org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432) 在 org.apache.jasper.servlet.JspServlet.serviceJspFile (JspServlet.java:390) 在 org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) 在 javax.servlet.http.HttpServlet。service(HttpServlet.java:728) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache .catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) 在 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java :472) 在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) 在 org.apache.catalina.valves 的 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)。 AccessLogValve.invoke(AccessLogValve.java:936) 在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) 在 org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004) 在 org.apache.coyote.AbstractProtocol$AbstractConnectionHandler .process(AbstractProtocol.java:589) 在 org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 在java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 在 java.lang.Thread.run(Thread.java:722)AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java: 1110) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 在 java.lang.Thread.run(Thread.java:722)AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java: 1110) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 在 java.lang.Thread.run(Thread.java:722)

2013 年 1 月 31 日下午 5:58:47 org.apache.catalina.core.ApplicationContext 日志

我是 JSF 的新手,所以我不明白这个错误是什么意思。有任何想法吗?比你。

PS:(我正在运行山狮,我正在使用 IntelliJ Idea Ultimate 12)。

4

1 回答 1

1

可以忽略此异常,它发生在某些验证期间,当index.jsp请求 page 而不是index.faces.

如果您index.faces在浏览器中刷新,您将不会再看到任何错误,如果您打开index.jsp,您将在 Tomcat 日志中看到相同错误的第二个副本。

index.jsp是默认页面,因此如果http://localhost:8080被请求,您将收到此错误。

web.xml可以通过在下面添加以下内容来解决此问题web-app

<welcome-file-list>
    <welcome-file>index.faces</welcome-file>
</welcome-file-list>

这种方式index.jsp在打开的时候是不会访问的http://localhost:8080

于 2013-01-31T16:46:08.627 回答