Spring MVC-매개 변수 메소드 이름 해석기 예제

다음 예제는 Spring Web MVC 프레임 워크를 사용하여 Multi Action Controller의 Parameter Method Name Resolver를 사용하는 방법을 보여줍니다. 그만큼MultiActionController 클래스는 각각 단일 컨트롤러에서 여러 URL을 해당 메서드와 매핑하는 데 도움이됩니다.

package com.tutorialspoint;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;

public class UserController extends MultiActionController{
	
   public ModelAndView home(HttpServletRequest request,
      HttpServletResponse response) throws Exception {
      ModelAndView model = new ModelAndView("user");
      model.addObject("message", "Home");
      return model;
   }

   public ModelAndView add(HttpServletRequest request,
      HttpServletResponse response) throws Exception {
      ModelAndView model = new ModelAndView("user");
      model.addObject("message", "Add");
      return model;
   }

   public ModelAndView remove(HttpServletRequest request,
      HttpServletResponse response) throws Exception {
      ModelAndView model = new ModelAndView("user");
      model.addObject("message", "Remove");
      return model;
   }
}
<bean class = "com.tutorialspoint.UserController">
   <property name = "methodNameResolver">
      <bean class = "org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">
         <property name = "paramName" value = "action"/>
      </bean>
   </property>
</bean>

예를 들어, 위의 구성을 사용하면 URI-

  • /user/*.htm?action=home이 요청되면 DispatcherServlet이 요청을 UserController로 전달합니다. home() 방법.

  • /user/*.htm?action=add가 요청되면 DispatcherServlet이 요청을 UserController로 전달합니다. add() 방법.

  • /user/*.htm?action=remove가 요청되면 DispatcherServlet이 요청을 UserController로 전달합니다. remove() 방법.

우선 작동하는 Eclipse IDE를 준비하고 다음 단계를 따라 Spring Web Framework를 사용하여 동적 양식 기반 웹 애플리케이션을 개발해 보겠습니다.

단계 기술
1 Spring MVC-Hello World 장에 설명 된대로 com.tutorialspoint 패키지 아래에 TestWeb이라는 이름의 프로젝트를 만듭니다.
2 com.tutorialspoint 패키지 아래에 Java 클래스 UserController를 만듭니다.
jsp 하위 폴더 아래에보기 파일 user.jsp를 만듭니다.
4 마지막 단계는 소스 및 구성 파일의 내용을 만들고 아래 설명 된대로 응용 프로그램을 내보내는 것입니다.

UserController.java

package com.tutorialspoint;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;

public class UserController extends MultiActionController{
	
   public ModelAndView home(HttpServletRequest request,
      HttpServletResponse response) throws Exception {
      ModelAndView model = new ModelAndView("user");
      model.addObject("message", "Home");
      return model;
   }

   public ModelAndView add(HttpServletRequest request,
      HttpServletResponse response) throws Exception {
      ModelAndView model = new ModelAndView("user");
      model.addObject("message", "Add");
      return model;
   }

   public ModelAndView remove(HttpServletRequest request,
      HttpServletResponse response) throws Exception {
      ModelAndView model = new ModelAndView("user");
      model.addObject("message", "Remove");
      return model;
   }
}

TestWeb-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"
   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">

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

   <bean class = "org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"> 
      <property name = "caseSensitive" value = "true" />
   </bean>
   <bean class = "com.tutorialspoint.UserController">
      <property name = "methodNameResolver">
         <bean class = "org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">
            <property name = "paramName" value = "action"/>
         </bean>
      </property>
   </bean>
</beans>

user.jsp

<%@ page contentType="text/html; charset=UTF-8" %>
<html>
   <head>
      <title>Hello World</title>
   </head>
   <body>
      <h2>${message}</h2>  
   </body>
</html>

소스 및 구성 파일 생성이 완료되면 애플리케이션을 내 보냅니다. 응용 프로그램을 마우스 오른쪽 버튼으로 클릭하고Export → WAR File 옵션을 선택하고 TestWeb.war Tomcat의 webapps 폴더에있는 파일.

이제 Tomcat 서버를 시작하고 표준 브라우저를 사용하여 webapps 폴더에서 다른 웹 페이지에 액세스 할 수 있는지 확인하십시오. 이제 URL을 시도해보십시오.http://localhost:8080/TestWeb/user/test.htm?action=home Spring Web Application에 문제가 없으면 다음 화면이 표시됩니다.