2013-05-28 4 views
0

[В случае, если это полезно, я работаю из книги Основные JavaServer Faces (третье издание), и я на странице 12, или около того.]Проблемы с JSF Использование GlassFish

Я пытаюсь запустить приложение JSF используя GlassFish, но у меня проблемы, которые я не могу определить. Я могу правильно запустить GlassFish и увидеть экран, который изображен в книге, так что это выглядит нормально. Затем я копирую файл login.war, который я создал и разместил в каталоге, содержащем src и веб-каталоги для этого проекта, в каталоге domains/domain1/autodeploy GlassFish.

Переход на http://localhost:8080 в Chrome показывает правильный экран; однако http://localhost:8080/login, как описано в книге и соответствующая странице login.xhtml, которую я создал, просто возвращает ошибку HTTP 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/javee" 
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
xsi:schemaLocation="http://java.sun.com/xml/nx/javaee 
    http://java.sun.com/xml/ns/javaee/we-app_2_5.xsd" 
version="2.5"> 
<servlet> 
    <servlet-name>Faces Servlet</servlet-name> 
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> 
</servlet> 
<servlet-mapping> 
    <servlet-name>Faces Servlet</servlet-name> 
    <url-patter>/faces/*</url-patter> 
</servlet-mapping> 
<welcome-file-list> 
    <welcome-file>faces/index.xhtml</welcome-file> 
</welcome-file-list> 
<context-param> 
    <param-name>javax.faces.PROJECT_STAGE</param-name> 
    <param-value>Development</param-value> 
</context-param> 
<context-param> 
    <param-name>javax.faces.DEFAULT_SUFFIX</param-name> 
    <param-value>.xhtml</param-value> 
</context-param> 
</web-app> 

Может кто-нибудь предложить любую помощь? Я использую Eclipse IDE, моя версия GlassFish, как описано на странице ошибки, описанной выше, - это 3.1.2.2. Если есть дополнительная информация, которая была бы полезной, например, структуры каталогов, пожалуйста, спросите меня об этом.

Thanks, Conor.

+0

Можете ли вы показать файл web.xml вашего приложения? – yodamad

+0

Я добавил свой web.xml в сообщение выше. Это круто подчеркивает, что я действительно не знаю, что должно быть там, поэтому я вполне могу ошибаться. – ConorW

+0

попробуйте добавить '<контекст-парам> javax.faces.DEFAULT_SUFFIX .xhtml ' и доступ к HTTP: // локальный: 8080/login.jsf – yodamad

ответ

1

Вам необходимо установить приложение context-root на номер login, если у вас есть к нему доступ с помощью http://localhost:8080/login. Есть несколько способов, как это сделать, например. проверьте это Glassfish tip или в Eclipse IDE, в проекте Properties щелкните Настройки веб-проекта и введите новый корень контекста приложения. Это не ошибка, так что пока вы не запустите больше одного приложения на своем сервере, вы можете оставить его таким образом, если хотите.

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