2014-10-16 4 views
0

Привет Я получаю статус HTTP 404, отправляя ниже jsp.Ошибка 404 во время работы jsp

HTTP Status 404 -/TestServlet1 Не могли бы вы помочь мне разрешить эту ошибку Примечание: Лицо и класс собаки были определены index.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
    pageEncoding="ISO-8859-1"%> 
<html> 
<head> 
</head> 
<body> 
<form id="a" action="/TestServlet1"> 
<input type="submit"> 
</form> 
<% 

%> 
Name = '${person.name}' 
Dog = '${person.dog.name}' 
</body> 
</html> 

TestServlet1

package test; 

import java.io.IOException; 

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

/** 
* Servlet implementation class TestServlet 
*/ 
public class TestServlet extends HttpServlet { 
    private static final long serialVersionUID = 1L; 

    /** 
    * @see HttpServlet#HttpServlet() 
    */ 
    public TestServlet() { 
     super(); 
     // TODO Auto-generated constructor stub 
    } 

    /** 
    * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 
    */ 
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     // TODO Auto-generated method stub 
     Dog g = new Dog(); 
     g.setName("dogeee"); 
     Person p = new Person(); 
     p.setDog(g); 
     p.setName("xxx"); 
     request.setAttribute("person", p); 
     RequestDispatcher dispatch = request.getRequestDispatcher("/index.jsp"); 
     dispatch.forward(request, response); 
    } 

    /** 
    * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 
    */ 
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     // TODO Auto-generated method stub 
    } 

} 

web.xml

<?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>GlobalWeather</display-name> 
    <welcome-file-list> 
    <welcome-file>index.jsp</welcome-file> 
    </welcome-file-list> 
    <servlet> 
    <servlet-name>TestServlet</servlet-name> 
    <servlet-class>test.TestServlet</servlet-class> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>TestServlet</servlet-name> 
    <url-pattern>/TestServlet1</url-pattern> 
    </servlet-mapping> 
</web-app> 
+0

Где вы указали index.jsp? Какая папка? –

ответ

0

первый и третий ответы правы. Либо напишите action = "TestServlet1", либо action = "/ Projectname/TestServlet1". Если вы поместите/testServet1 в действие, это означает, что вы указываете путь к нужному файлу, который в этом случае ошибочен, а если вы используете testervlet1 в действии, это означает, что вы ищете имя файла testservlet1 в вашем проекте для запуска.

0

404 означает, что URL-адрес не был найден. Я подозреваю, что вам нужно имя веб-приложения в вашем URL-адресе.

Таким образом, вместо того, чтобы использовать форму действия:

/TestServlet1,

попробовать

/name_of_your_web_app/TestServlet1 
0

Просто удалите THA/в вашей форме действия:

<form id="a" action="/TestServlet1"> 

изменить его на

<form id="a" action="TestServlet1"> 

В HTML добавление/означает относительный URL-адрес и без косой черты означает абсолютный URL-адрес. Или лучше использовать контекст, как указано здесь:

<form id="a" action=${pageContext.request.contextPath}/TestServlet1> 
0

вы должны поставить contextroot + ваше имя сервлета ... contextRoot обычно это имя вашего проекта.

action="/nameProject/TestServlet1" 

Я надеюсь, что это поможет вам

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