web.xml 에서 url Mapping 을 위해 web.xml 에서 해당되는 확장자가 들어올시 Spring 의 Dispatcher 를 실행시키게끔 편집한다.

	<servlet>
		<servlet-name>dispatcher</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>dispatcher</servlet-name>
		<url-pattern>*.htm</url-pattern>
	</servlet-mapping>

 

그다음 dispatcher-servlet.xml 을 편집해준다. 컨트롤러의 위치를 찾아주는 component-scan 의 위치를 지정해준다. 패키지명만 적어준다.

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:p="http://www.springframework.org/schema/p"
	xmlns:context="http://www.springframework.org/schema/context"
	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="controllers"></context:component-scan>
</beans>

 

그후 베이스 패키지명과 같은 이름으로 패키지를 만들어주고 그안에 컨트롤러 클래스를 만들어준다. 컨트롤러 클래스의 이름은 아무것이나 지어도 된다. 편의상 PracticeController 이라 하겠다.

package controllers;

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

@Controller
public class PracticeController {
	@RequestMapping("/index.htm")
	public String noticeDetail() 
	{
		return "index.jsp";
	}
}


위의 코드는 기존 Dispatcher 에서 하던 URL 맵핑을 대신해주고 있다. /index.htm 이라는 요청이 들어오면 @RequestMapping Annotation 에 명시된 요청 주소를 찾게 되고 매칭되면 메소드가 실행된다 index.jsp 를 return 해주고 있다. 기존 MVC2 패턴에서는 컨트롤러 하나 생성에 여기저기 옮겨 다니면서 작업 해야 했다. 아직 포스팅 하지 않았지만 DAO 객체도 setter 만 해주고 @Autowired annotation을 써주면 a