2016-06-09 3 views
0

У меня проблема: когда я вызываю index.jsp, он не вызывает сервлет.Статус HTTP 404 -/ServletHello/HelloServlet на eclipse

(1) index.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8" 
    pageEncoding="UTF-8"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<title>Insert title here</title> 
</head> 
<body> 
<jsp:forward page="HelloServlet"/> 
</body> 
</html> 

(2) сервлет/HelloServlet.java:

package servlet; 

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("/HelloServlet") 
public class HelloServlet extends HttpServlet { 

    private static final long serialVersionUID = 1L; 


    public HelloServlet() { 
     super(); 
     // TODO Auto-generated constructor stub 
    } 


    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     // TODO Auto-generated method stub 
     request.getRequestDispatcher("welcome.jsp").forward(request, response); 
    } 
} 

(3) welcome.jsp:

<body> 
    Hello world 
</body> 

(4) web.xml

<?xml version="1.0" encoding="ISO-8859-1"?> 
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" 
version="2.4"> 

<welcome-file-list>  
     <welcome-file>index.jsp</welcome-file>   
</welcome-file-list> 

<servlet> 
    <servlet-name>hello</servlet-name> 
    <servlet-class>servlet.HelloServlet</servlet-class> 
</servlet> 

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

</web-app> 

Спасибо, что и помогает мне

ответ

0

Используйте шаблон URL сервлета вместо имени класса в вашем jsp:forward тег:

<jsp:forward page="/welcome"/> 
0

Там нет никаких проблем в кодировании. Проверьте название проекта. Путь должен быть http: localhost: 8080/Servlet/HelloServlet

Здесь Servlet - это название проекта. Проверьте это один раз.

URL должен быть/HelloServlet. Not/servlet/HelloServlet