Maven Spring WebApp HTTP状态404

时间:2015-11-10 22:20:08

标签: spring spring-mvc http-status-code-404

尝试运行student_list.jsp并在运行后获得HTTP状态404。 在这里,我发送了我的maven项目的照片,该项目是在Netbeans和代码中设置的。请检查一切是否正确。我是春天的初学者。

由于

Maven project:

代码:

student_list.jsp



<%@page import="java.util.List"%>
<%@page import="cz.webapp.student.entity.Student"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@taglib prefix="s" uri="http://www.springframework.org/tags"%>

 
<div>
<h2>List of Persons</h2>
 
<table title="List Of Persons" border="1">
<tr>
<th>Name</th>
<th>Age</th>
</tr>
 
<%
List<Student> studentList = (List)request.getAttribute("students");
for(Student student: studentList){
out.println("<tr>");
out.println("<td>" + student.getId() + "</td>");
out.println("<td>" + student.getName() + "</td>");
out.println("<td>" + student.getAge() + "</td>");
out.println("</tr>");
}
 
%>
 
</table>

</div>
&#13;
&#13;
&#13;

的web.xml

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

   <display-name>Spring MVC Application</display-name>

   <servlet>
      <servlet-name>StudentWebApp</servlet-name>
      <servlet-class>
         org.springframework.web.servlet.DispatcherServlet
      </servlet-class>
      <load-on-startup>1</load-on-startup>
   </servlet>

   <servlet-mapping>
      <servlet-name>StudentWebApp</servlet-name>
      <url-pattern>/</url-pattern>
   </servlet-mapping>
 
</web-app>
&#13;
&#13;
&#13;

StudentWebApp-servlet.xml中

&#13;
&#13;
<beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:context="http://www.springframework.org/schema/context"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="
   http://www.springframework.org/schema/beans     
   http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
   http://www.springframework.org/schema/context 
   http://www.springframework.org/schema/context/spring-context-3.0.xsd">

   <context:component-scan base-package="cz.webapp.student" />
 
   
   
   
   <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
      <property name="prefix" value="WEB-INF/jsp/" />
      <property name="suffix" value=".jsp" />
   </bean>

</beans>
&#13;
&#13;
&#13;

StudentController

&#13;
&#13;
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package cz.webapp.student.controllers;

import cz.webapp.student.entity.Student;
import cz.webapp.student.service.StudentService;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import static org.springframework.web.bind.annotation.RequestMethod.GET;
import org.springframework.web.bind.annotation.RequestParam;

/**
 *
 * @author Jenda
 */

@Controller
public class StudentController {
    
    @Autowired
    StudentService studentServiceImpl;
    
    
    
@RequestMapping(value="/students", method=GET)
public String showAllStudent(Map<String, Object> model){
List<Student> studentList = studentServiceImpl.findAll();

model.put("students", studentList);


return "student_list";
    
}
}
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

我认为我可能发现了一个问题。在您的servlet.xml文件中,您的基本包似乎是错误的。试试这个:<context:component-scan base-package="cz.webapp.student.*" />

因为当您将包设置为cz.webapp.student

时,我认为Spring正在寻找名为cz.webapp.student.controllers的包

导致404错误的原因很多,并且错误的基础包就是其中之一,所以我不确定这是否会解决它,但它是一个良好的开端。