2015-11-10 124 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錯誤很多的原因,並有一個錯誤的基礎包是一個他們,所以我不完全確定這是否能解決問題,但這是一個好的開始。