2015-11-10 40 views
0

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

感谢

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>

的web.xml

<?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>

StudentWebApp-servlet.xml中

<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>

StudentController

/* 
 
* 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"; 
 
    
 
} 
 
}

+0

你能打印堆栈跟踪吗?他们确实有助于确定问题。 – bmarkham

回答

0

我想我可能找到了问题。在你的servlet.xml文件中,你的基础包似乎是错误的。试试这个:<context:component-scan base-package="cz.webapp.student.*" />

因为我觉得春天正在寻找一个叫做cz.webapp.student包时,你有你的包设置为cz.webapp.student.controllers

有一个404错误很多的原因,并有一个错误的基础包是一个他们,所以我不完全确定这是否能解决问题,但这是一个好的开始。