2015-05-08 5 views
0

У меня проблема с реализацией сервлета. Я использую Apache Tomcat в качестве механизма Servlet и Eclipse в качестве среды IDE. Сначала я создал search.html следующим образом:Отображение сервлета и статус HTTP 404

<html> 
    <head> 
    <meta charset="UTF-8"> 
    <title>FirstServler</title> 
    </head> 
    <body> 
     <form action="/myServlet" method="get"> 
     Name : <INPUT TYPE="text" NAME="name" SIZE="18"/> 
     <input type="submit" value="OK"> 
     </form> 
    </body> 
</html> 

Затем я создал сервлет, который называется servlet1:

import java.io.IOException; 

import javax.servlet.ServletException; 
import javax.servlet.annotation.WebServlet; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

@WebServlet("/Servlet1") 
public class Servlet1 extends HttpServlet 
{ 
    private static final long serialVersionUID = 1L; 

    public Servlet1() 
    { 
     super(); 
    } 

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
    { 
     String s= request.getParameter("name"); 
     response.getWriter().write(s); 
    } 
} 

И, наконец, web.xml, расположенный в WebContent \ WEB-INF:

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-   instance" 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" id="WebApp_ID" version="3.0"> 
    <display-name>Servlet</display-name> 

    <servlet> 
    <servlet-name>servlet1</servlet-name> 
    <servlet-class>Servlet1</servlet-class> 
</servlet> 
    <servlet-mapping> 
    <servlet-name>servlet1</servlet-name> 
    <url-pattern>/myServlet</url-pattern> 
    </servlet-mapping> 
    </web-app> 

Когда я ввожу данные в поле ввода search.html и нажмите «OK» Я получаю следующее сообщение об ошибке:

HTTP Status 404 - /Servlet1.0/es1 
type Status report 
message /Servlet1.0/es1 
description The requested resource is not available. 

Я думаю, что есть некоторые ошибки с web.xml. Фактически, если я изменяю url-шаблон в es1, я не получаю ошибку.

+0

Вы проверили свою консоль, чтобы проверить, какое исключение вы получаете? –

ответ

0

Ошибка говорит: «Запрошенный ресурс недоступен». Лучше всего предположить, что сервер не может найти класс Servlet1.

Два предложения:

  • Название @WebServlet("/Servlet1") не соответствуют <servlet-name>servlet1</servlet-name>, предыдущие использования «S» в то время как последний использует «s». Попробуйте использовать одно и то же имя.
  • Попробуйте переместить класс Servlet1 в пакет вместо того, чтобы поместить его в пакет по умолчанию.
Смежные вопросы