init-param 태그를 이용하여 설정파일의 경로와 파일명을 명시하면된다.
아래의 예제에서는 각 servlet 파일에 InternalResourceViewResolver 를 설정해 줬는데 web.xml에서 가장 먼저 명시된 hello-servlet.xml 설정 파일의 설정만 적용된다.
따라서 모든 controller에 대한 InternalResourceViewResolver 설정은 다른 설정파일과는 상관없이 hello-servlet.xml에서 설정한
<property name="prefix" value="/"/>
<property name="suffix" value=".jsp"/>
와 같이 적용된다.
============================================================================================================================================
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_mvc3_mulixml</display-name>
<servlet>
<servlet-name>test</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/hello-servlet.xml
/WEB-INF/abc/world.xml
</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>test</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>
============================================================================================================================================
<?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 name="/hello.do" class="pack.HelloController"/>
<bean name="/happy.do" class="pack.HappyController"/>
<!-- ViewResolver : InternalResourceViewResolver -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/"/>
<property name="suffix" value=".jsp"/>
</bean>
</beans>
============================================================================================================================================
<?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 name="/world/world.do" class="pack.WorldController"/>
<!-- ViewResolver : InternalResourceViewResolver -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/view/"/>
<property name="suffix" value=".jsp"/>
</bean>
</beans>
package pack;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
@Controller
public class HappyController {
@RequestMapping(method=RequestMethod.POST) // name을 명시하지 않으면 url-pattern을 제외한 URL 문자열과 메소드 이름이 mapping 됨
public ModelAndView happy(){
ModelAndView view = new ModelAndView();
view.setViewName("list1");
view.addObject("msg","HappyController-POST");
return view;
}
}
'spring > Web' 카테고리의 다른 글
AbstractController 를 상속하여 Controller 사용하기 (0) | 2014.05.12 |
---|---|
공유자원 설정할때 사용(ContextLoaderListener : applicationContext.xml) (0) | 2014.05.12 |
Annotation을 이용한 Controller 맵핑 (0) | 2014.05.12 |
controller를 직접만들어서 운영하기 (0) | 2014.05.12 |
개념 잡기 (0) | 2014.05.12 |