본문 바로가기

spring/Web

Annotation을 이용한 Controller 맵핑



============================================================================================================================================

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

  <servlet>

   <servlet-name>test</servlet-name> <!-- test-servlet.xml 파일을 찾게된다. -->

   <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

  </servlet>

  <servlet-mapping>

   <servlet-name>test</servlet-name>

   <url-pattern>*.do</url-pattern>

  </servlet-mapping>

</web-app>


============================================================================================================================================

test-servlet.xml


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

<beans xmlns="http://www.springframework.org/schema/beans"

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.xsd">

<!-- Controller 어노테이션 사용 (생략가능)-->

<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/>

<!-- Controller  -->

<bean class="pack.TestController"/>

<!-- ViewResolver : InternalResourceViewResolver -->

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">

<property name="prefix" value="/"/>

<property name="suffix" value=".jsp"/>

</bean>


</beans>


============================================================================================================================================

Controller

package pack;

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

@Controller
public class TestController{
@RequestMapping("index.do")
public ModelAndView abc() throws Exception {
ModelAndView view = new ModelAndView();
view.setViewName("list");
view.addObject("say", "모델 수행 결과 값-Anno");
return view;
}
}

혹은

package pack;

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

@Controller
public class TestController{
@RequestMapping("index.do")
public String abc() throws Exception {
return "list"; //view 파일만 반환 : forward 방식
}
}