Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Tomcat и JSF, не складывается 
:(
    Опции темы
smartov
Дата 14.8.2007, 23:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: нет
Всего: 259



Добрый день явисты. 
На фоне изучения явы хочу попробовать для начала JSF.
Но вот беда - никак не пойму как верно ставить Tomcat и JSF чтобы все работало.

Есть инсталлятор Томката - apache-tomcat-6.0.13.exe 
Есть jsf-1_1_01.zip скачанный отсюда

Томкат поставил. 

Далее, куда копировать содержимое папки jsf-1_1_01 в архиве jsf-1_1_01.zip?
Я предположил что в корень сервера, чтобы все что содержалось в jsf-1_1_01/libs упало в libs Томката.

Перезапустил Томкат.
В папке Томката 'webapps/ROOT/' создал тестовое приложение как показано вот здесь.

Захожу на http://localhost:8080/jsf-helloworld/index.jspx

А мне в ответ куча матов
 про то что произошел exception

Код

org.apache.jasper.JasperException: An exception occurred processing JSP page /jsf-helloworld/index.jspx at line 9

6:           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
7:           xmlns="http://www.w3.org/1999/xhtml"
8:           version="2.0">
9:     <f:view>
10:       <html>
11:       <body>
12:         <h:form>


Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:524)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:417)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


При этом в root cause имею вот следующий текст, из которого следует, что "Cannot find FacesContext"
Код

root cause

javax.servlet.ServletException: javax.servlet.jsp.JspException: Cannot find FacesContext
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:850)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)
    org.apache.jsp.jsf_002dhelloworld.index_jspx._jspService(index_jspx.java:70)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


Там еще один root clause но с подобным текстом просто для ругого компонента.

Собствено вопрос: что я сделал неправильно?
PM MAIL   Вверх
tux
Дата 15.8.2007, 00:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 74
Всего: 132



Цитата(smartov @  14.8.2007,  23:57 Найти цитируемый пост)
Далее, куда копировать содержимое папки jsf-1_1_01 в архиве jsf-1_1_01.zip?

Никуда не надо. Все библиотеки должны лежать в WEB-INF/lib приложения. Конечно, если JSF нужен многим приложениях, развернутым в Томкате, то можно и в lib Томката скопировать, но я бы не сказал, что это есть распространенная практика.

Цитата(smartov @  14.8.2007,  23:57 Найти цитируемый пост)
В папке Томката 'webapps/ROOT/' создал тестовое приложение как показано вот здесь.

Ну, это, вообще говоря, неправильно. Создай приложение просто в webapps. То есть у тебя должен быть каталог webapps/jsf-helloworld, в котором и должно болтаться приложение со всеми нужными библиотеками в WEB-INF/lib. 
PM MAIL Skype GTalk Jabber YIM   Вверх
smartov
Дата 15.8.2007, 11:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: нет
Всего: 259



Цитата(tux @  14.8.2007,  23:12 Найти цитируемый пост)
Ну, это, вообще говоря, неправильно. Создай приложение просто в webapps. То есть у тебя должен быть каталог webapps/jsf-helloworld, в котором и должно болтаться приложение со всеми нужными библиотеками в WEB-INF/lib.  

Когда я захожу на http://localhost:8080 там идет
Цитата

As you may have guessed by now, this is the default Tomcat home page. It can be found on the local filesystem at:

$CATALINA_HOME/webapps/ROOT/index.html


И 
то верно, потому что когда я помещаю jsf-helloworld просто в webapps то при заходе на http://localhost:8080/jsf-helloworld/ я вижу
Код

description The requested resource (/jsf-helloworld/) is not available.


То есть коренвая папка документов действительно $CATALINA_HOME/webapps/ROOT/  



Цитата(tux @  14.8.2007,  23:12 Найти цитируемый пост)
Все библиотеки должны лежать в WEB-INF/lib приложения.

Положил библиотеки из архива из libs в приложения.
Структура папки такая:

Код

c:\usr\bin\tomcat\webapps\ROOT\jsf-helloworld\
    index.jspx
    WEB-INF\
        faces-config.xml
        web.xml
        WEB-INF\lib\
            commons-beanutils.jar
            commons-collections.jar
            commons-digester.jar
            commons-logging.jar
            html_basic.tld
            jsf-api.jar
            jsf-impl.jar
            jsf_core.tld
            web-facesconfig_1_0.dtd
            web-facesconfig_1_1.dtd

            

Результат тот, что и был.

Но с другой стороны, я взял из папки samples что шли с jsf war файлик сампла, положил его в $CATALINA_HOME/webapps, томкат через пару секнд это отмониторил и развернул его, после чего sample-приложение успешно работало.
Я запаковал в war jsf-helloworld, положил его в webapps, томкат его распаковал, при попытке зайти на приложение - Access denied. Переименовал index.jspx в index.jsp - опять FacesContext not found. 

У меня такое впечатление, что слонопотамус неверно написал код или не все рассказал.

PM MAIL   Вверх
tux
Дата 15.8.2007, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 74
Всего: 132



Цитата(smartov @  15.8.2007,  11:41 Найти цитируемый пост)
То есть коренвая папка документов действительно $CATALINA_HOME/webapps/ROOT/  

Это не PHP+Apache, здесь концепция другая, нет никакой корневой папки. У каждого веб-приложения есть ассоциированный контекст, у приложения ROOT  он такой - "/", у твоего приложения, например, такой - "/jsf-helloworld". Вот начиная с этого контекста приложение и разворачивается. В принципе можешь тот же самый ROOT развернуть с любым другим контекстом. Соответственно, приложение у тебя лежит не там, должно быть в c:\usr\bin\tomcat\webapps\jsf-helloworld\. А вот почему оно не разворачивается - это другой вопрос. При запуске Томката должно быть либо сообщение, что приложение jsf-helloworld смонтировано, либо какая-то ошибка.
PM MAIL Skype GTalk Jabber YIM   Вверх
smartov
Дата 15.8.2007, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: нет
Всего: 259



tux, 
Цитата(tux @  15.8.2007,  11:10 Найти цитируемый пост)
Это не PHP+Apache, здесь концепция другая, нет никакой корневой папки.

Если бы не было корневой папки, согласись, не было бы определено откуа начинать считать контекст ;-)
Но теперь я понял, что ROOT просто как отдельное приложение.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.1084 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.