2016-10-15 4 views
0

저는 SpringMVC에서 새롭고 간단한 hello world 프로그램을 실행하려고합니다. 그러나, 내 브라우저 (http://localhost:8080/FirstspringMVCwithannotation/welcome)에서 이것을 실행하면 HTTP Status-404 Error가 발생합니다.봄 MVC에서 오류 (HTTP 상태 404 -) 받기

HelloController.java

package com.example; 

import org.springframework.stereotype.Controller; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.portlet.ModelAndView; 


@Controller 
public class HelloController { 
    @RequestMapping("/welcome") 
    public ModelAndView helloWorld(){ 
     ModelAndView model=new ModelAndView("HelloPage"); 
     model.addObject("msg","hello world"); 
     return model; 
    } 


} 

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>FirstspringMVCwithannotation</display-name> 

    <servlet> 
    <servlet-name>spring-dispatcher</servlet-name> 
     <servlet-class> 
        org.springframework.web.servlet.DispatcherServlet 
     </servlet-class> 
    </servlet> 

    <servlet-mapping> 
    <servlet-name>spring-dispatcher</servlet-name> 
     <url-pattern>/</url-pattern> 
    </servlet-mapping> 

</web-app> 

스프링 운영자-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" 
    xmlns:mvc="http://www.springframework.org/schema/mvc" 
    xsi:schemaLocation=" 
     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 
     http://www.springframework.org/schema/mvc 
     http://www.springframework.org/schema/mvc/spring-mvc.xsd"> 

    <context:component-scan base-package="com.example" /> 
    <mvc:annotation-driven/> 

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

HelloPage.jsp

: 여기서, 코드는
<html> 
    <body> 
     <h1> 
      First Spring MVC Application Demo 
     </h1> 
     <h2> 
      ${msg} 
     </h2> 
    </body> 
</html> 
여기

내 프로젝트 구조이며, 나는 다른 솔루션을 참조하려고

enter image description here

lib 폴더 아래의 모든 스프링 jar 파일을 추가하지만, 내 problem..can 사람이 제발 도와 해결되지 않는 이유는 HTTP 상태 - 404 오류가 발생합니까? 미리 감사드립니다.

+0

가'/'을 변경해보십시오'/*', http://stackoverflow.com/questions/29792677 –

+0

'@RequestMapping ("/ 환영")를 참조 '오류 이유를'/'로 바꾸어 작업을하거나 우스꽝스러운 코멘트를 남깁니다 – emotionlessbananas

+0

프로젝트 파일 구조 란 무엇입니까? jsp 뷰가 위치한 폴더 경로는 무엇입니까? –

답변

0

Dispatcher 컨트롤러에서 볼 수 없으므로 HTTP 404를 수신했습니다.

보기가 WEB-INF 폴더 아래에있는 lib 폴더 아래에 있습니다.

당신이해야 할 모든

대신 당신이 쓴 무엇을, 당신이 해결을 보려면 재구성이다 :이 같은

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

쓰기를 : 은 lib 폴더에서보기를 추출하기 위해 뷰 리졸버를 구성

<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">   
    <property name="prefix" value="/WEB-INF/lib/" /> 
    <property name="suffix" value=".jsp" /> 
</bean> 

한 가지 더 말하면, jsp 파일을 WEB-INF 아래의보기 폴더 아래에 놓고 lib 폴더 아래에 두지 않는 것이 좋습니다.

WEB-INF 아래의 lib는 타사 라이브러리 및 jar 전용 폴더입니다.

+0

사실 hello.jsp가 WEB-INF 폴더 아래에 있습니다 ... 이제는 네이 플을 일식 네프로 바꾸어서 신선한 프로젝트를 시작하고 좋은 코드를 사용하고 있습니다. .. 여기에 하나의 것을 발견했습니다 ... 여기서 제공하는 스크린 샷에는 spring-dispatcher-servlet.xml 파일에 작은 점이 표시되었지만이 점 기호는 kepler 프로젝트에 없습니다. 네온과 관련된 모든 버전이나 다른 문제가 있습니까? –