2015-11-18 2 views
-2

Является новым для J2ee. У меня есть следующий сконфигурирован как мой web.xml
Tomcat web.xml url mapping

web.xml

<?xml version="1.0" encoding="ISO-8859-1" ?> 

<!DOCTYPE web-app PUBLIC 
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
"http://java.sun.com/dtd/web-app_2_3.dtd"> 

<web-app> 
     <servlet> 
       <servlet-name>TestGetServlet</servlet-name> 
       <servlet-class>src.java.com.testGet.TestGet</servlet-class> 
     </servlet> 
     <servlet-mapping> 
       <servlet-name>TestGetServlet</servlet-name> 
       <url-pattern>/servlet/TestGet</url-pattern> 
     </servlet-mapping> 
</web-app> 

код Java

package src.java.com.testGet; 

import java.io.IOException; 
import java.io.PrintWriter; 
import javax.servlet.*; 
import javax.servlet.http.*; 

public class TestGet extends HttpServlet { 

    String WebPage = "<html><body> Hello World Again </body></html>"; 

    @Override 
    public void init(){ 
     System.out.println("Servlet initialized"); 
    } 

    @Override 
    public void doGet(HttpServletRequest request, HttpServletResponse responce){ 
     try{ 
      responce.setContentType("text/html"); 
      PrintWriter aPW = responce.getWriter(); 
      aPW.println(WebPage); 
     }catch(IOException ioe){ 
      ioe.getMessage(); 
     } 
    } 
} 

Но кот возвращает следующую ошибку

HTTP Status 404 - /TestGetServlet/servlet/TestGet 

у меня есть e создать приложение с ant и его развернуто нормально, но он не дает возможности автоматически генерировать web.xml (это так?), поэтому мне нужно делать вручную. Может ли кто-нибудь помочь мне получить правильные сопоставления?

+2

Судя по тому web.xml и что вы называете это «j2ee» вы копировать/вставить этот от ДЕЙСТВИТЕЛЬНО старой документации/статей/учебников. Используйте новый материал, пожалуйста. https://docs.oracle.com/javaee/7/tutorial/servlets.htm#BNAFD – Gimby

+0

, какую версию tomcat вы используете? – Ramanlfc

+0

Привет, я использую Tomcat 8 –

ответ

0

404 означает, что страница не найдена, возможно, потому что URL-адрес не существует.

Часть /servlet/TestGet, которую вы используете для сопоставления сервлетов в вашем URL-адресе. Ваш web.xml кажется также правильным. Проверьте, указано ли приложение с именем TestGetServlet.

+0

Имя класса приложения - TestGet –

+0

У вас есть доступ к любой другой странице приложения? Я бы добавил быстрый index.html с коротким сообщением, чтобы просто проверить, работает ли оно. –

+0

это единственное приложение на моем сервере –

0

Ваша конфигурация и код кажутся правильными. Возможно, проблема заключается в build.xml.

Перейти к вашей установке \ wtpwebapps кот (или WebApps) \ YourApp \ WEB-INF и убедитесь, что:

  • Ваш web.xml правильно
  • Exists каталог WEB-INF\classes и содержит скомпилированный код (.class).

Если вы используете затмение, добавьте кота (File - New - Server) для развертывания более легко и быстро

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