2013-05-01 3 views
0

Я новичок в Java Spring MVC. Я создал образец проекта, но я, кажется, чтобы получить ресурс не найден ошибкаHtto 404 Ошибка: ресурс не найден - STS

SRC/главная/WebAPP/WEB-INF/весна/appServlet/сервлет-context.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<beans:beans xmlns:mvc="http://www.springframework.org/schema/mvc" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:beans="http://www.springframework.org/schema/beans" 
xmlns:context="http://www.springframework.org/schema/context" 
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd 
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> 

<!-- DispatcherServlet Context: defines this servlet's request-processing infrastructure --> 

<!-- Enables the Spring MVC @Controller programming model --> 
<mvc:annotation-driven /> 

<!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources directory --> 
<mvc:resources mapping="/resources/**" location="/resources/" /> 

<!-- Resolves views selected for rendering by @Controllers to .jsp resources in the /WEB-INF/views directory --> 
<beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
    <property name="prefix" value="/WEB-INF/views/" /> 
    <property name="suffix" value=".jsp" /> 
</beans:bean> 

<context:component-scan base-package="com.shr.myapp" /> 

пакет ком. shr.myapp.Controllers.TrampsController.java

package com.shr.myapp.Controllers; 

import java.util.*; 
import org.slf4j.Logger; 
import org.slf4j.LoggerFactory; 
import org.springframework.stereotype.Controller; 
import org.springframework.ui.Model; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RequestMethod; 

@Controller 
public class TrampsController { 

private static final Logger logger = LoggerFactory.getLogger(TrampsController.class); 

private static List<String> tramps ; 

    public TrampsController() { 
     tramps= new ArrayList<String>(); 
     populate(tramps); 
    } 

    @RequestMapping(value = "/tramps", method = RequestMethod.GET) 
    public String list(Model model) { 
    logger.info("Listing Walks"); 
    model.addAttribute("tramps",tramps); 
    return "tramps/list"; 
    } 

private void populate(List<String> tramps) { 
    tramps.add("Lake Waikaremoana Great Walk");  
    tramps.add("Kepler Track"); 
    tramps.add("Milford Track"); 
    tramps.add("Routeburn Track"); 
    tramps.add("Rakiura Track"); 
    } 
} 

WEB-INF/просмотров/бродяги/list.jsp;

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
<%@ page session="false" %> 
<html> 
<head> 
<link href="<c:url value="/resources/css/tramps.css" />" rel="stylesheet" type="text/css" media="screen" /> 
<title>Listing Tramps</title> 
</head> 
<body> 
<div class="container"> 
<h1>Tramps of New Zealand</h1> 


<table class="normal-table"> 
    <thead> 
     <tr> 
      <th>Key</th> 
     </tr> 
    </thead> 
    <tbody> 
    <c:forEach var="tramp" items="${tramps}"> 
     <tr> 
      <td><c:out value="${tramp}"/></td> 

     </tr> 
    </c:forEach> 
    </tbody> 
</table> 


</div> 
</body> 
</html> 

web.xml

<?xml version="1.0" encoding="UTF-8"?> 

http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd ">

<!-- The definition of the Root Spring Container shared by all Servlets and Filters --> 
<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>/WEB-INF/spring/root-context.xml</param-value> 
</context-param> 

<!-- Creates the Spring Container shared by all Servlets and Filters --> 
<listener> 
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
</listener> 

<!-- Processes application requests --> 
<servlet> 
    <servlet-name>appServlet</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <init-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

<servlet-mapping> 
    <servlet-name>appServlet</servlet-name> 
    <url-pattern>/</url-pattern> 
</servlet-mapping> 

Я не понимаю, как я должен разрешить это. Пожалуйста, помогите мне

+0

, пожалуйста, добавьте URL-адрес, который вы используете –

+0

. Пожалуйста, добавьте также web.xml –

+0

@ Lilith2k3 привет также предоставил файл web.xml file.please a посмотреть – user1274646

ответ

0

Я не уверен, что это основная причина вашей проблемы, но ваш код имеет как минимум две ошибки.

Вам необходимо указать префикс beans в запись bean в вашем servlet-context.xml.

<beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
    <beans:property name="prefix" value="/WEB-INF/views/" /> 
    <beans:property name="suffix" value=".jsp" /> 
</beans:bean> 

переменная бродяга в вашем list.jsp не имеет «ключ» и свойство «значение», так как его тип строки.

<c:forEach var="tramp" items="${tramps}"> 
    <tr> 
     <td>${tramp}</td> 
    </tr> 
</c:forEach> 

Надеюсь, это поможет.

+0

эй спасибо за упоминание ошибок. Но я все равно получаю ту же ошибку. Это значит, что я ошибаюсь перезапустите project.i перейдите на страницу list.jsp-> щелкните правой кнопкой мыши -> запустите как -> запустите на сервере. это ват я. – user1274646

1

на основе URL вы делитесь, вы используете неправильный URL, вы должны использовать

localhost:8080/myapp/tramps 

не

localhost:8080/myapp/WEB-INF/views/tramps/list.jsp 

для вызова метода контроллера, если вы новичок в Spring MVC, пожалуйста, проверьте мой YT channel

+1

в случае, если его приложение отвечает на localhost: 8080;) –

+0

@Bobo Zohdy Как установить этот URL? – user1274646

+0

вы используете @RequestMapping (value = "/ tramps", method = RequestMethod.GET) это сопоставление «/ tramps» с этим методом контроллера, если вы новичок в весне MVc, проверьте мой канал YT здесь http://www.youtube .com/плей-лист? список = PL7350712B99EFC5DD –

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