gpt4 book ai didi

apache - 在此服务器上找不到请求的 URL/application/index.jsf(Apache 和 Tomcat)

转载 作者:行者123 更新时间:2023-11-28 23:39:59 32 4
gpt4 key购买 nike

我是 stackoverflow 的粉丝。这个网站已经解决了大部分技术问题,甚至没有问他们,只是阅读以前的类似问题。事实上,我已经在网上和 stackoverflow 上进行了搜索,但我找不到任何答案,而且我自己也无法解决这个问题。我唯一的办法就是寻求你的帮助。我开发了一个小型 JSF 2.0 应用程序,在我的本地 tomcat 6.0.35 上一切正常。我的 WEB-INF 上有所有的 JSF 库。我正在使用 mojarra 版本 2.1.14。 url是这样访问的

在我的本地

  http://localhost/application/page.jsf     

并且此应用程序部署到具有 apache 和 Tomcat 6.0.36 的外部托管 tomcat。该应用程序部署在/home/username/public_html 下。应通过键入

访问相同的 url
http://website.com/application/page.jsf 

但是我得到了错误:

未找到

在此服务器上找不到请求的 URL/application/page.jsf。此外,在尝试使用 ErrorDocument 处理请求时遇到 404 Not Found 错误。

此外,html 和 JSP 页面工作正常。我有一个带有 jsp 页面的测试应用程序,它加载得很好。另一方面,xhtml 页面不适用于此 apache 框。为了让 JSP 页面正常工作,我添加了 JSP 和 servlet 支持

 /usr/local/cpanel/scripts/addservlets2 --domain=domain.com

这是 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" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">

<servlet>
<servlet-name>FacesServlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>FacesServlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.xhtml</welcome-file>
</welcome-file-list>

<context-param>
<param-name>com.sun.faces.expressionFactory</param-name>
<param-value>com.sun.el.ExpressionFactoryImpl</param-value>
</context-param>
</web-app>

我坚信这个 web.xml 与 jsf 不工作无关,而且这些设置在我的本地运行良好。 tomcat 日志文件没有显示在外部主机上找不到页面的错误。

这是faces配置文件

  <?xml version="1.0"?>
<faces-config xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
version="2.0">


</faces-config>

发生了什么事?请帮我。我越来越绝望了。为什么 JSF 请求在此 apache 服务器上返回未找到

另外,el-impl-2.2.jar 和 el-api-2.2.jar 在 tomcat 库中。和 javax.faces-2.1.14.jar、jSTL-api-2.1.jar、jSTL-impl-2.1.jar 和所有必需的 commons jar 都在 WEB-INF 中。

最佳答案

我刚刚解决了这个问题。我花了 6 天时间调查如何解决这个问题。真是浪费时间。今天在工作中,我和我的同事谈过,他建议我将我的调查指向 tomcat 的 apache 连接器,因为我声称在我的本地 tomcat 服务器上一切正常。我做了一些研究,发现我需要编辑 cp_jkmount.conf 连接器。 JkMount 用于将上下文路径映射到 Tomcat worker。我添加了以下内容

 <IfModule mod_jk.c>
JkMount /*.xhtml ajp13
JkMount /*.jsf ajp13
</IfModule>

在这些连接器的末端

 /usr/local/apache/conf/userdata/std/2/username/website.com/cp_jkmount.conf  

/usr/local/apache/conf/userdata/ssl/2/username/website.com/cp_jkmount.conf

我希望这对其他人有帮助。

关于apache - 在此服务器上找不到请求的 URL/application/index.jsf(Apache 和 Tomcat),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20692995/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com