|
|
|
HelloWorld сервлет
|
|||
|---|---|---|---|
|
#18+
Начал изучать сервлеты, и как полагается, с простого HelloWorld'а, чтобы пощупать. Делал по шагам уже по трем статьями, и всегда в итоге ClassNotFound Exception. Томкат 7.0. Делал все в точности как описано тут http://www.tutorialspoint.com/servlets/servlets-first-example.htm Скомпилировал класс, положил его в e:\Program Files\Tomcat 7.0\webapps\ROOT\WEB-INF\CLASSES\, в e:\Program Files\Tomcat 7.0\webapps\ROOT\WEB-INF\web.xml прописал Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. Запускаю томкат, набираю в браузере http://localhost:8080/HelloWorld и получаю java.lang.ClassNotFoundException: HelloWorld Я не понимаю, что я делаю не так-то? Может кто-нибудь объяснить? Может примеры для других версий томката? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2015, 18:23 |
|
||
|
HelloWorld сервлет
|
|||
|---|---|---|---|
|
#18+
И еще не пойму, почему в первый раз вылазит ClassNotFoundException, а в последующие, пока не перезапустишь томкат, The requested resource is not available. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2015, 19:12 |
|
||
|
HelloWorld сервлет
|
|||
|---|---|---|---|
|
#18+
поставь netbeans - он тебе поможет разобраться , что к чему ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2015, 20:21 |
|
||
|
HelloWorld сервлет
|
|||
|---|---|---|---|
|
#18+
daunitoИ еще не пойму, почему в первый раз вылазит ClassNotFoundException, а в последующие, пока не перезапустишь томкат, The requested resource is not available. Где вылазит? В логах или в ответе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2015, 20:27 |
|
||
|
HelloWorld сервлет
|
|||
|---|---|---|---|
|
#18+
Что-то меня CLASSES большими буквами смущает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2015, 20:35 |
|
||
|
HelloWorld сервлет
|
|||
|---|---|---|---|
|
#18+
maytondaunitoИ еще не пойму, почему в первый раз вылазит ClassNotFoundException, а в последующие, пока не перезапустишь томкат, The requested resource is not available. Где вылазит? В логах или в ответе? в ответе, на странице ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2015, 21:41 |
|
||
|
HelloWorld сервлет
|
|||
|---|---|---|---|
|
#18+
Alexander A. SakЧто-то меня CLASSES большими буквами смущает. у меня винда ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2015, 21:42 |
|
||
|
HelloWorld сервлет
|
|||
|---|---|---|---|
|
#18+
daunitoAlexander A. SakЧто-то меня CLASSES большими буквами смущает. у меня винда Справедливое замечание. Сделай-ко буквы как положено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2015, 23:05 |
|
||
|
HelloWorld сервлет
|
|||
|---|---|---|---|
|
#18+
mayton, сделал, не помогло. Та же ошибка :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2015, 02:27 |
|
||
|
HelloWorld сервлет
|
|||
|---|---|---|---|
|
#18+
daunitoНачал изучать сервлеты, и как полагается, с простого HelloWorld'а, чтобы пощупать. Делал по шагам уже по трем статьями, и всегда в итоге ClassNotFound Exception. Томкат 7.0. Делал все в точности как описано тут http://www.tutorialspoint.com/servlets/servlets-first-example.htm Скомпилировал класс, положил его в e:\Program Files\Tomcat 7.0\webapps\ROOT\WEB-INF\CLASSES\Очень плохо выполнять примеры на одной версии Tomcat, читая уроки от другой. В версии 5.5 Tomcat использовал classes (и маленькими буквами) для "классов в структуре каталогов" и lib для war-архивов. Начиная с версии 6.0 используется только lib. Поэтому: 1. Классы помещаются в lib "на общих основаниях"; 2. Классы помещаются в lib с соблюдением каталожной структуры, диктуемой пакетом класса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2015, 07:11 |
|
||
|
HelloWorld сервлет
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovВ версии 5.5 Tomcat использовал classes (и маленькими буквами) для "классов в структуре каталогов" и lib для war-архивов. Начиная с версии 6.0 используется только lib. Позвольте не поверить. /WEB-INF/classes определено спецификацией: Java™ Servlet Specification 3.0The contents of the WEB-INF directory are: - The /WEB-INF/web.xml deployment descriptor. - The /WEB-INF/classes/ directory for servlet and utility classes. The classes in this directory must be available to the application class loader. - The /WEB-INF/lib/*.jar area for Java ARchive files. These files contain servlets, beans, static resources and JSPs packaged in a JAR file and other utility classes useful to the Web application. The Web application class loader must be able to load classes from any of these archive files. The Web application class loader must load classes from the WEB-INF/classes directory first, and then from library JARs in the WEB-INF/lib directory. В доке Томката говорят то же самое: https://tomcat.apache.org/tomcat-7.0-doc/class-loader-howto.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2015, 07:46 |
|
||
|
HelloWorld сервлет
|
|||
|---|---|---|---|
|
#18+
daunito, ты уверен что тебе не стоит изучать IDE для сервлетов? Или у тебя много времени? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2015, 09:15 |
|
||
|
HelloWorld сервлет
|
|||
|---|---|---|---|
|
#18+
Alexander A. SakПозвольте не поверить. /WEB-INF/classes определено спецификациейДа, пардоньте - попутал со структурой ${catalina.base}. Тогда ставлю на класс в пакете и отсутствие "нужных каталогов". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2015, 09:20 |
|
||
|
HelloWorld сервлет
|
|||
|---|---|---|---|
|
#18+
Petro123ты уверен что тебе не стоит изучать IDE для сервлетов?Любой "Привет, мир" надо сделать ручками. Просто для того, чтобы понимать "как это устроено". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2015, 09:24 |
|
||
|
HelloWorld сервлет
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovPetro123ты уверен что тебе не стоит изучать IDE для сервлетов?Любой "Привет, мир" надо сделать ручками. Просто для того, чтобы понимать "как это устроено". помню мне точно также советовали изучать DOS и его соманды. Эти советы очень относительны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2015, 09:38 |
|
||
|
HelloWorld сервлет
|
|||
|---|---|---|---|
|
#18+
OFF Basil A. Sidorov, зачем мне, или ему на данном этапе знать как компилируется сервлет? Или как компилируется сырой запрос в самом СУБД? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2015, 09:39 |
|
||
|
HelloWorld сервлет
|
|||
|---|---|---|---|
|
#18+
Hello World должен делаться за 3 поста в форуме. Если больше, значит что-то не так данном королевстве. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2015, 09:41 |
|
||
|
HelloWorld сервлет
|
|||
|---|---|---|---|
|
#18+
Сподобился перечитать урок ... Cогласно спекам, публичным является service(), doXXXX() - защищённые и должны оставаться таковыми. Пример ошибки, которая с лёгкостью обнаруживается аннотацией: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2015, 09:54 |
|
||
|
HelloWorld сервлет
|
|||
|---|---|---|---|
|
#18+
Petro123зачем мне, или ему на данном этапе знать как компилируется сервлет?Это фундамент знаний любого разработчика, поскольку компиляция сервлета ничем не отличается от компиляции "обычного класса".Или как компилируется сырой запрос в самом СУБД?Совсем не в тему, но тоже полезно, чтобы не делать некоторых глупостей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2015, 09:56 |
|
||
|
HelloWorld сервлет
|
|||
|---|---|---|---|
|
#18+
daunitoИ еще не пойму, почему в первый раз вылазит ClassNotFoundException, а в последующие, пока не перезапустишь томкат, The requested resource is not available.Контейнер строит ресурсы и получает исключение, т.е. ресурс не создаётся. При последующих обращениях получаем 404 на всё несуществующее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2015, 10:05 |
|
||
|
HelloWorld сервлет
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovЭто фундамент знаний любого разработчика, поскольку компиляция сервлета ничем не отличается от компиляции "обычного класса". не вопрос. Пусть изучает прямо щщас. ). Мы, так сказать совращали его на другой путь)). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2015, 10:12 |
|
||
|
HelloWorld сервлет
|
|||
|---|---|---|---|
|
#18+
Petro123помню мне точно также советовали изучать DOS и его соманды. Эти советы очень относительны. действительно - unix сразу изучать нужно было ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2015, 12:58 |
|
||
|
HelloWorld сервлет
|
|||
|---|---|---|---|
|
#18+
Petro123daunito, ты уверен что тебе не стоит изучать IDE для сервлетов? Или у тебя много времени? Я использую eclipse. В частности пишу сейчас spring-mvc приложение. И в результате получаю ту же самую ошибку, что класс не найден. Вот решил вообще с самого простого начать, чтобы понимать как должно деплоиться приложение. Куда уж проще, один java файл с одним классом, скомпилировал, положил в папку и нифига не работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2015, 14:08 |
|
||
|
HelloWorld сервлет
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovСподобился перечитать урок ... Cогласно спекам, публичным является service(), doXXXX() - защищённые и должны оставаться таковыми. Пример ошибки, которая с лёгкостью обнаруживается аннотацией: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. поправил, не помогло. Ну и ошибка ClassNotFound. Думаю что в случае с неверным классификатором должно было бы быть что-то другое ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2015, 14:13 |
|
||
|
HelloWorld сервлет
|
|||
|---|---|---|---|
|
#18+
Господа! Спасибо всем, заработало. Я папку CLASSES переименовал в Classes. Сейчас сделал все маленькими буквами, перезагрузил томкат и заработало. Я только не пойму, как такое может быть на винде, где пути регистронезависимы О_о ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2015, 14:27 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39056425&tid=2124916]: |
0ms |
get settings: |
5ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
28ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 197ms |
| total: | 321ms |

| 0 / 0 |
