2012-07-02 3 views
8

Я пытаюсь запустить сервлет на моем локальном Tomcat с Eclipse.HTTP Status 404 - на Eclipse с Tomcat

Но я продолжаю получать эту ошибку и не знаю, что делать по-другому.

Я фактически записал здесь: http://www.screenr.com/ZyD8

Большое спасибо!

Также я изменил web.xml к этому:

 <?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
    id="WebApp_ID" 
    version="3.0" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" > 

    <display-name> 
TEST3 
    </display-name> 

    <welcome-file-list> 

     <welcome-file> 
TEST3 
     </welcome-file> 
    </welcome-file-list> 

    <servlet> 

     <servlet-name> 
helloServlet 
     </servlet-name> 

     <servlet-class> 
HelloServlet 
     </servlet-class> 
    </servlet> 

    <servlet-mapping> 

     <servlet-name> 
helloServlet 
     </servlet-name> 

     <url-pattern> 
/hello 
     </url-pattern> 
    </servlet-mapping> 

</web-app> 
+0

Имеет ли сервлет с пакетами, если да, то напишите полностью квалифицированное имя класса в web.xml –

+0

, оно находится в «пакете по умолчанию». Но даже если я создам его в пакете «test.servlet» и поместив «test.servlet.HelloServlet» в качестве имени класса в web.xml, он даст ту же ошибку – user387184

+0

Проверьте мой ответ. –

ответ

20

Я видел вашу ссылку.

Когда вы запускаете любой динамический веб-проект. По умолчанию контейнер Servlet (в данном случае Tomcat) ищет файлы, указанные в списке приветствия. Проверьте ваш web.xml, она должна содержать запись вроде

<welcome-file-list> 
    <welcome-file>index.html</welcome-file> 
    <welcome-file>index.htm</welcome-file> 
    <welcome-file>index.jsp</welcome-file> 
    <welcome-file>default.html</welcome-file> 
    <welcome-file>default.htm</welcome-file> 
    <welcome-file>default.jsp</welcome-file> 
    </welcome-file-list> 

Вы не создали файл с любого из приведенного выше списка. Таким образом, бег

http://localhost:8080/TEST2 даст вам 404 ошибок.

Скорее всего: http://localhost:8080/TEST2/HelloSerlvet будет ссылаться на созданный вами сервлет.

Редактировать: Проверить меню проекта eclipse и проверить флажок «Создать автоматически» и запустить контейнер сервлетов (http://localhost:8080).

Редактировать 2: Щелкните правой кнопкой мыши Project -> Properties, выберите Java Build Path -> вкладка source -> Change Default output folder. Создание /WEB-INF/classes под /WebContent (по умолчанию в затмении)

+0

см. Мой прикрепленный web.xml - при вводе «http: // localhost: 8080/TEST2/HelloSerlvet» он дает такую ​​же ошибку. Я думаю, что класс не развертывается вообще в правильном месте, но я не знаю, что делать? – user387184

+0

Извините, но я пробовал все и все еще не работал. Что мне нужно поместить в качестве элемента Buildpath сверху в «исходные папки на пути сборки» и что я должен поставить под «Default Output FOlder». Должен ли я проверить «Разрешить выходные папки в качестве исходных папок»? – user387184

+0

Пожалуйста, внимательно прочитайте. Я упомянул создать новую папку. в Редакторе 2 –

7

Это основано на ответе от Hardik Мишра с некоторыми основными моментов: 1. Из файлового проводника (не из Eclipse), вручную создать «/ WEB-INF/классов "under/WebContent 2. Щелкните правой кнопкой мыши Project -> Properties, выберите Java Build Path -> вкладка источника -> Изменить папку вывода по умолчанию в папку, которую вы только что создали выше. 3. Перейдите к файловому проводнику, а не к Eclipse, поскольку Eclipse «Project Explorer» может иметь некоторые фильтры, которые не отображают папку классов. Вы должны увидеть файлы .class, скомпилированные в этом каталоге

Попробуйте снова протестировать его. Если он не работает, перезапустите Eclipse за один раз, а затем он должен работать.

4

Я встречался с этими типами проблем довольно давно и видел несколько решений, которые работают для некоторых, и остальные по-прежнему сталкиваются с одной и той же проблемой.

Одним из простых решений является переход к .java/.jsp/etc., Щелкните правой кнопкой мыши и выберите вариант с сервера.

Я нашел это решение простым, но эффективным способом работы.

путь Java Resource-> src -> -> example.java -> правый клик -> запустить как -> запустить на сервере.

Даже после этого вы можете столкнуться с несколькими проблемами, такими как порт 8005, недоступным, пожалуйста, следуйте приведенной ниже ссылке, чтобы очистить текущую настройку Apache и переустановить ее.

TOMCAT - HTTP Status 404

Deployment error:Starting of Tomcat failed, the server port 8080 is already in use

Надеется, что это открытие было полезным.

0

Обычно, когда вы изменяете файл web.xml, вы должны «очистить» Tomcat. Просто щелкните правой кнопкой мыши на Tomcat в Eclipse и очистите. Сделайте то же самое для проекта. Вы также можете остановить Tomcat, удалить приложение из Tomcat (щелкните правой кнопкой мыши на приложении под Tomcat и удалите), а затем добавьте его обратно. Перезапустите Tomcat.