| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > Tomcat и JSF |
| Автор: smartov 14.8.2007, 23:57 | ||||
| Добрый день явисты. На фоне изучения явы хочу попробовать для начала JSF. Но вот беда - никак не пойму как верно ставить Tomcat и JSF чтобы все работало. Есть инсталлятор Томката - apache-tomcat-6.0.13.exe Есть jsf-1_1_01.zip скачанный http://javashoplm.sun.com/ECom/docs/Welcome.jsp?StoreId=22&PartDetailId=jsf-1_1_01-fcs-oth-JPR&TransactionId=noreg Томкат поставил. Далее, куда копировать содержимое папки jsf-1_1_01 в архиве jsf-1_1_01.zip? Я предположил что в корень сервера, чтобы все что содержалось в jsf-1_1_01/libs упало в libs Томката. Перезапустил Томкат. В папке Томката 'webapps/ROOT/' создал тестовое приложение как показано http://slonopotamus.org/jsf-ru/quickstart/hello_world". Захожу на http://localhost:8080/jsf-helloworld/index.jspx А мне в ответ куча матов про то что произошел exception
При этом в root cause имею вот следующий текст, из которого следует, что "Cannot find FacesContext"
Там еще один root clause но с подобным текстом просто для ругого компонента. Собствено вопрос: что я сделал неправильно? |
| Автор: smartov 15.8.2007, 11:41 | ||||||||
Когда я захожу на http://localhost:8080 там идет
И то верно, потому что когда я помещаю jsf-helloworld просто в webapps то при заходе на http://localhost:8080/jsf-helloworld/ я вижу
То есть коренвая папка документов действительно $CATALINA_HOME/webapps/ROOT/ Положил библиотеки из архива из libs в приложения. Структура папки такая:
Результат тот, что и был. Но с другой стороны, я взял из папки samples что шли с jsf war файлик сампла, положил его в $CATALINA_HOME/webapps, томкат через пару секнд это отмониторил и развернул его, после чего sample-приложение успешно работало. Я запаковал в war jsf-helloworld, положил его в webapps, томкат его распаковал, при попытке зайти на приложение - Access denied. Переименовал index.jspx в index.jsp - опять FacesContext not found. У меня такое впечатление, что слонопотамус неверно написал код или не все рассказал. |
| Автор: tux 15.8.2007, 12:10 | ||
Это не PHP+Apache, здесь концепция другая, нет никакой корневой папки. У каждого веб-приложения есть ассоциированный контекст, у приложения ROOT он такой - "/", у твоего приложения, например, такой - "/jsf-helloworld". Вот начиная с этого контекста приложение и разворачивается. В принципе можешь тот же самый ROOT развернуть с любым другим контекстом. Соответственно, приложение у тебя лежит не там, должно быть в c:\usr\bin\tomcat\webapps\jsf-helloworld\. А вот почему оно не разворачивается - это другой вопрос. При запуске Томката должно быть либо сообщение, что приложение jsf-helloworld смонтировано, либо какая-то ошибка. |
| Автор: smartov 15.8.2007, 16:26 | ||
tux,
Если бы не было корневой папки, согласись, не было бы определено откуа начинать считать контекст ;-) Но теперь я понял, что ROOT просто как отдельное приложение. |