【问题标题】:Opening JSF page is very slow and eventually ends up in 404打开 JSF 页面非常慢,最终以 404 结束
【发布时间】:2013-09-29 18:29:50
【问题描述】:

我正在构建一个以 GlassFish 作为服务器的 Java EE 项目。当我尝试在 Chrome 上打开项目时,它非常慢。有时它甚至没有打开,它加载了很长时间然后显示错误 404。这是地址:http://localhost:8080/TpJava3/index.xhtml。在 Eclipse 中,如果我每次都运行 Facelets 页面就可以了。但是,如果我只是将 URL 粘贴到 Eclipse 浏览器中,那也是一样的。我也尝试运行http://localhost:4848/TpJava3/test.xhtml。它打开了 3 秒钟,然后转到错误 404 页面。

web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
<display-name>TpJava3</display-name>
<welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.xhtml</url-pattern>
    <url-pattern>*.jsf</url-pattern>
    <url-pattern>/faces/*</url-pattern>
    <url-pattern>*.jsf</url-pattern>
    <url-pattern>/icefaces/*</url-pattern>
</servlet-mapping>
<context-param>
    <description>State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2</description>
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    <param-value>server</param-value>
</context-param>
<context-param>
    <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
    <param-value>resources.application</param-value>
</context-param>
<listener>
    <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
</listener>
<context-param>
    <param-name>javax.faces.PROJECT_STAGE</param-name>
    <param-value>Development</param-value>
</context-param>
<context-param>
    <param-name>javax.faces.FACELETS_SKIP_COMMENTS</param-name>
    <param-value>true</param-value>
</context-param>
<context-param>
    <param-name>org.icefaces.coalesceResources</param-name>
    <param-value>false</param-value>
</context-param>
<context-param>
    <param-name>org.icefaces.strictSessionTimeout</param-name>
    <param-value>true</param-value>
</context-param>
<context-param>
    <param-name>org.icefaces.ace.gmapKey</param-name>
    <param-value>AIzaSyAATyWVqT2qNusNGmcVTyQ0QmymkpU-B5o</param-value>
</context-param>
<context-param>
    <param-name>com.icesoft.faces.gmapKey</param-name>
    <param-value>AIzaSyAcAbAa7AL1DLU0785OeWn2byf4XOsm7KM</param-value>
</context-param>
<servlet>
    <servlet-name>Resource Servlet</servlet-name>
    <servlet-class>com.icesoft.faces.webapp.CompatResourceServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>Resource Servlet</servlet-name>
    <url-pattern>/xmlhttp/*</url-pattern>
</servlet-mapping>
<mime-mapping>
    <extension>png</extension>
    <mime-type>image/png</mime-type>
</mime-mapping>
</web-app>

【问题讨论】:

  • 您是否尝试过重新部署?停止并重新启动域?超出这些一般性建议的任何内容都需要您提供更多相关信息。
  • 我已经清理并重新启动了我的 glassfish 服务器,但它仍然无法正常工作。对不起,我不太确定要提供什么信息:/。
  • 所有组件的版本。使用的确切 JavaEE 技术。可能是一些代码。
  • 好的,Glassfish 4.0、JSF 3.2、myibatis 3.2 和 JDK7,如果您需要更多信息,请告诉我。我的 Glassfish 设置为在资源更改时自动发布。
  • @user2511414 打错了,应该是 GlassFish 4 中已经提供的 JSF 2.2 OP 来自未来

标签: eclipse jsf glassfish


【解决方案1】:

您的 Web 浏览器和 Java EE 应用程序之间没有关系。我将我所有的 Java EE 应用程序部署在 chrome、Firefox 上,没有区别。 4848 也是管理页面的端口,所以 这里的问题是你真正部署的是什么你部署了包含 EJB、War 的 Ear 文件还是部署了将 EJB 项目作为 Dependeny 的战争

注意:

始终在您的 web.xml 中只指定一个欢迎页面。你做的页面不多

【讨论】:

  • 您能否提供一个参考,表明拥有多个欢迎页面会导致问题?否则,这不是答案,而只是评论。
猜你喜欢
  • 2011-07-20
  • 1970-01-01
  • 1970-01-01
  • 2016-04-03
  • 1970-01-01
  • 2016-06-11
  • 1970-01-01
  • 2017-12-17
  • 1970-01-01
相关资源
最近更新 更多