2013-12-19 4 views
0

Я - вентилятор stackoverflow. Этот веб-сайт решил большинство технических вопросов, даже не спросив их, но только прочитав предыдущие аналогичные вопросы. Действительно, я искал веб-и stackoverflow, но я не мог найти ответа, и я не мог решить эту проблему самостоятельно. Мой единственный курорт - попросить о помощи. Я работал над небольшим JSF 2.0-приложением, и все отлично работает на моем локальном tomcat 6.0.35. У меня есть все JSF lib на моем WEB-INF. Я использую версию mojarra 2.1.14. URL доступен как этотЗапрашиваемый URL /application/index.jsf не был найден на этом сервере (Apache и Tomcat)

на моем местный

http://localhost/application/page.jsf  

и это приложение развертывается на внешний размещенный кот, который имеет Apache и Tomcat 6.0.36. Приложение развернуто под/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 и сервлета

/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 не отображается ошибка страницы, не найденной на внешнем хосте.

Вот файл конфигурации лица

<?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 и все необходимые домены общего пользования находятся в WEB-INF.

+0

Как вы устанавливаете этот проект на веб-сервере? С файлом WAR? –

+0

Я развернул файл войны под webapps, и когда он был распакован, я скопировал его в/home/username/public_html/application /. После этого я начал кота. Затем вы можете удалить военный файл, так как webapps здесь не является каталогом развертывания. – Armel

+0

файл server.xml имеет следующую важную информацию <имени хоста = "domain.com" appBase = "/ главная/имя пользователя/public_html"> www.website.com Armel

ответ

0

Я только что исправил эту проблему. Я провел 6 дней, проведя расследования, как это исправить. Что за трата времени. Сегодня на работе я поговорил с моим коллегой, и он предложил мне направлять свои исследования на Apache-коннектор на tomcat, так как я утверждал, что все работает нормально на моем локальном сервере tomcat. Я провел некоторое исследование, и я обнаружил, что мне нужно отредактировать cp_jkmount.conf. JkMount используется для сопоставления пути контекста к работнику Tomcat.Я добавил следующее

<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  

Я надеюсь, что это поможет кому-то еще.

Смежные вопросы