2013-02-22 5 views
0

봄 mvc 프레임 워크에서 기본 응용 프로그램을 만들었습니다. 내가 web.xml 파일에서 다음 URL 패턴 쓸 때봄 mvc 응용 프로그램에서 url-pattern이 작동하지 않습니다.

는 :

<servlet-mapping> 
     <servlet-name>springxml</servlet-name> 
     <url-pattern>*.jsp</url-pattern> 
    </servlet-mapping> 

및 (../SpringMVCXML/welcome.jsp 사용) 응용 프로그램을 실행, 그것은 HTTP 상태 404 오류를 표시합니다.

.jsp 이외의 url 패턴을 변경하면 응용 프로그램이 정상적으로 실행되고 있습니다.

응용 프로그램이 실행되지 않는 이유 .jsp URL 패턴?

컨트롤러로 다음 Java 클래스를 사용했습니다. 내 springxml-servlet.xml 파일은 다음 코드했다 또한

@Controller 
@RequestMapping(value="/welcome",method=RequestMethod.GET) 
public class ControllerHello { 
    @RequestMapping(method=RequestMethod.GET) 
    public String printHello(ModelMap map) { 
     map.addAttribute("message", "Hello Spring MVC Framework"); 
     return "hello"; 
    } 
} 

:

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

답변

1

를 다음 시도하십시오 상황은 다음과 같습니다.

/welcome.jsp가 아닌/welcome 경로에 대한 컨트롤러를 등록했습니다. 따라서 /welcome.jsp는 Spring MVC 컨트롤러에 매핑되지 않습니다. /welcome HelloController는 String 출력 hello를 제공합니다.

/welcome.jsp는 WEB-INF에 있고 해당 URL에 대한 스프링 MVC 컨트롤러가 없으므로 404 오류가 발생합니다.

org.springframework.web.servlet.view.InternalResourceViewResolver는 JSP 파일을/WEB-INF에 넣기위한 것입니다. InternalResourceResolver의 기능에 대한 간단한 설명은 http://www.mkyong.com/spring-mvc/spring-mvc-internalresourceviewresolver-example/을 참조하십시오. 기본적으로 Spring MVC는 공개 리소스에없는 jsp를 뷰로 사용할 수 있습니다. 이러한 jsp를 유효한 URL로 등록하는 메커니즘이 아닙니다.

URL은 요청 매핑에서 결정됩니다.

0

당신은 아마이 URL 봄의 /welcome.jsp 버전을 어떤 스프링 컨트롤러 매핑이없는 당신 사용하고 있습니까? 당신은 스프링 2.5를 사용하거나 위의 경우, (당신이 당신의 web.xml에 다른 서블릿 매핑이있을 수 있습니다) 당신은 또한 springxml 서블릿는 * .jsp로보다 다른 뷰를 제공하고있다가 가정 코드를

@RequestMapping(value = "welcome.jsp") 
public String welcomeJSP(){ 
    return "welcome"; 
} 
+0

질문을 편집합니다. 친절하게 살펴 봅니다. –