'Spring MVC'에 해당되는 글 2건

반응형

  이번에는 브라우저의 요청 URL에 대해 미리 매핑해 놓은 컨트롤러를 호출하여 컨트롤러에서 지정한 JSP를 브라우저로 전송하는 과정을 실습해 보겠습니다.

  브라우저에서 요청한 URL(http://localhost:8090/pro21/test/index.do)에 대해 매핑된 컨트롤러를 선택하고 요청명에 대한 JSP파일을 브라우저로 전송하는 과정입니다.

 

웹 브라우저 -> DispatcherServlet -> SimpleUrlController -> /test/index.jsp -> 웹브라우저

 

1. 브라우저에서 http://localhost:8090/pro21/test/index.do로 요청합니다.

2. DispatcherServlet은 요청에 대해 미리 action-servlet.xml에 매핑된 SimpleUrlController 를 요청합니다.

3. 컨트롤러는 요청에 대해 test 폴더에 있는 index.jsp를 브라우저로 전송합니다.

 

 

cglib-nodep-2.1_3.jar
0.31MB
cglib-nodep-2.2.jar
0.31MB
com.springsource.javax.validation-1.0.0.GA.jar
0.05MB
com.springsource.org.aopalliance-1.0.0.jar
0.00MB
com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar
1.57MB
commons-beanutils-1.8.3.jar
0.22MB
commons-dbcp.jar
0.10MB
commons-dbcp-1.4.jar
0.15MB
commons-digester-2.0.jar
0.14MB

 

commons-fileupload-1.2.2.jar
0.06MB
commons-io-2.0.1.jar
0.15MB
commons-logging.jar
0.05MB
commons-logging-1.1.1.jar
0.06MB
commons-pool.jar
0.06MB
commons-pool-1.5.6.jar
0.10MB
json_simple-1.1.jar
0.02MB
jstl.jar
0.02MB
log4j-1.2.16.jar
0.46MB
mybatis-3.0.5.jar
0.61MB
mybatis-spring-1.0.1.jar
0.03MB
mysql-connector-java-3.0.14-production-bin.jar
0.23MB
ojdbc6.jar
2.61MB
org.springframework.aop-3.0.6.RELEASE.jar
0.31MB
org.springframework.asm-3.0.6.RELEASE.jar
0.05MB
org.springframework.aspects-3.0.6.RELEASE.jar
0.03MB
org.springframework.beans-3.0.6.RELEASE.jar
0.53MB
org.springframework.context-3.0.6.RELEASE.jar
0.64MB
org.springframework.core-3.0.6.RELEASE.jar
0.36MB
org.springframework.expression-3.0.6.RELEASE.jar
0.16MB
org.springframework.jdbc-3.0.6.RELEASE.jar
0.37MB
org.springframework.transaction-3.0.6.RELEASE.jar
0.22MB
org.springframework.web.servlet-3.0.6.RELEASE.jar
0.40MB
org.springframework.web-3.0.6.RELEASE.jar
0.38MB
slf4j-api-1.5.8.jar
0.02MB
slf4j-jdk14-1.5.8.jar
0.01MB
spring.jar
2.43MB
standard.jar
0.38MB
tiles-api-2.2.2.jar
0.03MB
tiles-core-2.2.2.jar
0.15MB
tiles-jsp-2.2.2.jar
0.05MB
tiles-servlet-2.2.2.jar
0.06MB
tiles-template-2.2.2.jar
0.02MB

  서블릿에서는 브라우저 요청 처리 시 서블릿에서 제공하는 메서드를 이용해 요청명을 일일이 가져왔습니다. 그러나 스프링에서는 브라우저의 요청을 쉽게 가져올 수 있는 여러 가지 기능을 제공합니다. 그중 SimpleUrlController를 사용해 보겠습니다. 먼저 스프링을 설정합니다.

 

새프로젝트를 만들고 위에 있는 파일들을 다운로드하고 복사해서 lib 폴더에 붙여 넣어 줍니다.

스프링 설정을 마쳤으니 SimpleUrlController를 이용해 요청을 처리해 보겠습니다.

 

실습 파일에 대한 간단한 설명을 하자면..

파일 설명
web.xml 브라우저에서 *.do로 요청 시 스프링의 DispatcherServlet 클래스가 요청을 받을 수 있게 서블릿 매핑을 합니다.
action-servlet.xml 스프링 프레임워크에서 필요한 빈들을 설정합니다.
SimpleUrlController.java 매핑된 요청에 대해 컨트롤러의 기능을 수행합니다.
index.jsp 요청에 대한 컨트롤러가 브라우저로 전송하는 JSP파일입니다.

web.xml을 다음과 같이 작성합니다. 브라우저에서 *.do로 요청하면 스프링의 Dispacther Servlet클래스가 요청을 받을 수 있게 서블릿 매핑을 설정합니다. 또한 <load-on-startup>태그를 이용해 톰캣 실행 시 미리 스프링의 DispatcherServlet을 메모리에 로드 합니다.

  action-servlet.xml에 필요한 빈들을 다음과 같이 설정합니다. SimpleUrlController 클래스에 대해 id가 simpleUrlController인 빈을 생성합니다. 스프링의 SimpleUrlHandlerMapping 클래스 빈을 생성하면 요청명 /test/index.do에 대해 처리하는 컨트롤러를 SimpleUrlController로 설정합니다.

 

  SimpleUrlController 클래스는 다음과 같이 작성합니다. 설정 파일의 요청을 처리하기 위해서는 반드시 Controller 인터페이스를 구현해야 하며, SimplerUrlController 클래스로 요청 시 ModelAndView 객체를 생성해 응답할 jsp이름인 index.jsp로 설정하여 반환합니다.

  컨트롤러에서 ModelAndView의 인자로 설정된 index.jsp를 화면에 출력하도록 설정합니다.

실행해 봅니다.

반응형
블로그 이미지

꽃꽂이하는개발자

,
반응형

스프링 프레임워크는 웹 애플리케이션 개발에 필요한 여러 가지 기능을 미리 만들어서 제공합니다. MVC 기능도 그 중 하나입니다. 스프링에서 제공하는 기능 사용법을 익히고 나면 MVC기능을 일일이 만들 필요 없이 편리하게 MVC 기능을 사용할 수 있습니다.

  스프링에서 지원하는 MVC 기능의 특징은 다음과 같습니다.

  • 모델2 아키텍처를 지원합니다.
  • 스프링과 다른 모듈과의 연계가 쉽습니다.
  • 타일즈나 사이트메시같은 View 기술과의 연계가 쉽습니다.
  • 태그 라이브러리를 통해 message 출력, theme 적용 그리고 입력 폼을 보다 쉽게 구현할 수 있습니다.

스프링에서는 애플리케이션 개발 시 많이 사용되는 모델2 기반의 MVC 기능을 제공하므로 편리하게 애플리케이션을 개발할 수 있습니다. 그리고 타일즈나 사이트메시처럼 화면 관련 프레임워크와도 쉽게 연동할 수 있습니다.

구성요소 설명
DispatcherServlet 클라이언트의 요청을 전달받아 해당 요청에 대한 컨트롤러를 선택하여 클라이언트의 요청을 전달합니다. 또한 컨트롤러가 반환한 값을 View에 전달하여 알맞은 응답을 생성합니다.
HandlerMapping 클라이언트가 요청한 URL을 처리할 컨트롤러를 지정합니다.
Controller 클라이언트의 요청을 처리한 후 그 결과를 DispatcherServlet에 전달합니다.
ModelAndView 컨트롤러가 처리한 결과 및 뷰 선택에 필요한 정보를 저장합니다.
ViewResorlver 컨트롤러의 처리 결과를 전달할 뷰를 지정합니다.
View 컨트롤러의 처리 결과 화면을 생성합니다.

출처 : https://gmlwjd9405.github.io/2018/12/20/spring-mvc-framework.html

1. 브라우저가 DispatcherServlet에 URL로 접근하여 해당 정보를 요청합니다.

2. 핸들러 맵핑에서 해당 요청에 대해 매핑된 컨트롤러가 있는지 요청합니다.

3. 매핑된 컨트롤러에 대해 처리를 요청합니다.

4. 컨트롤러가 클라이언트의 요청을 처리한 결과와 View 이름을 ModelAndView에 저장해서 DispatcherServlet으로 반환합니다.

5. DispatcherServlet에서는 컨트롤러에서 보내온 View 이름을 ViewResolver로 보내 해당 View를 요청합니다.

6. ViewResorvler는 요청한 View를 보냅니다.

7. View의 처리 결과를 DispatcherServlet으로 보냅니다.

8. DispatcherServlet은 최종 결과를 브라우저로 전송합니다.

 

반응형
블로그 이미지

꽃꽂이하는개발자

,