2012-04-14 3 views
3

Я новичок в Java. Я использую затмение Helios и Tomcat 7.Ошибка в моей первой программе JSF. Tomcat и Eclipse

Я настроил сервер и написал свою первую страницу JSF, но я получил эту ошибку:

HTTP Status 404 -/
type Status report 
message/
description The requested resource (/) is not available. 
Apache Tomcat/7.0.27 

Код первой страницы состоит в следующем:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" 
     xmlns:f="http://java.sun.com/jsf/core"  
     xmlns:h="http://java.sun.com/jsf/html"> 

    <h:head> 
     <title>JSF 2.0 Hello World</title> 
    </h:head> 
    <h:body> 
     <h3>JSF 2.0 Hello World Example - hello.xhtml</h3> 

    </h:body> 
</html> 

Затем я изменил порт на 8088. Но когда я ввожу localhost:8088 в мой браузер, у меня такая же ошибка.

+0

И ваши файлы конфигурации (web.xml, faces-config) и т. Д. Вы используете maven или просто eclipse? И какие банки в вашей войне? – LightGuard

+0

@LightGuard Я использую eclipse. Я использую jsf 2.0 (Mojarra 2.0.3 FCS) – Mohsen

ответ

8

Это может быть вызвано несколькими причинами:

  • Скорее всего beacuse вы пытаетесь получить доступ что-то вроде этого при запуске: локальный: 8080/MyProject/

    Чтобы быть в состоянии сделать это вы должны указать приветственный список файлов в вашем web.xml:

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

    добавить Также эти строки, чтобы указать отображение сервлета, если вы уже не так:

    <servlet-mapping> 
        <servlet-name>Faces servlet</servlet-name> 
        <url-pattern>*.xhtml</url-pattern> 
        </servlet-mapping> 
    

    Убедитесь, что ваш файл index.xhtml находится в папке веб-страниц.

  • Вы разместили ваш .xhtml-файл, который вы пытаетесь найти где-то вне папки Wep-страниц.

  • Вы пытаетесь получить доступ к некоторому .xhtml который не существует.

Я держал пари, что это первый один, потому что ошибка журнала показывает: ресурс (/), так что вы, вероятно, пытается Acces файла приветствия.

Надеюсь, это помогло немного!

0

, как вы пытаетесь сделать, это неправильно

В JSF когда-либо мы вводим URL, как «локальный: 8088 \ лица \ test.jsp» то первая вещь, что происходит, это URL анализируется, и если есть conatins любые URL pattren, которые могут инициировать FacesServlet только тогда JSF Жизненный цикл начинается

этот шаблон URL должен в дескрипторе развертывания (то есть web.xml) теперь, когда вы пытаетесь получить доступ к его LOCALHOST \ 8080 \ FacesServlet не получает так что это причина вашей ошибки.

web.xml должны иметь запись как

Faces сервлета * .xhtml

это будет гарантировать, что каждый раз, когда ваш URL есть * .xhtml тогда ваши лица сервлет cyscle заводится.

если ваш web.xml имеет

<servlet-mapping> <servlet-name>Faces servlet</servlet-name> <url-pattern>/faces/*</url-pattern> </servlet-mapping> 

тогда ваш URL должен иметь "лица" в свой адрес. надеюсь, что это поможет. рассматривает Анил Шарма

0

вы можете иметь проблемы с JSF библиотек, поэтому постарайтесь поместить их в папку Lib под WEB-INF, а затем сделать так: правой кнопкой мыши на вашем проекте -> Свойства -> Java построить путь -> JSF_lib -> удалить, чтобы избежать конфликтов

6

Tomcat не поставляется с jsf libs. Загрузите файл jsf lib и поместите его в папку \ apache-tomcat \ lib. перестроить проект и перезапустить сервер, и вам хорошо идти.

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