스프링 MVC웹서비스
1. 웹프로그래밍 설계모델
웹 프로그래밍을 구축하기 위한 설계 모델
2 : 스프링 MVC프레임워크 동작 구조
프로젝트 전체 구조
web.xml
DispatcherServlet
사용자의모든요청을DispatcherServlet이 받은후HandlerMapping 객체에Controller 객체검색을요청한다. 그러면HandlerMapping 객체는프로젝트 에존재하는모든Controller 객체를검색한다. HandlerMapping 객체가Controller 객체를검색해서DispatcherServlet 객체에알려주면 DispatcherSer vlet 객체는다시HandlerAdapter 객체에사용자의요청에부합하는메소드검색을요청한다. 그러면HandlerAdapter 객체는사용자의요청 에부합하는메 소드를찾아서해당Controller 객체의메소드를실행한다. Controller 객체의메소드가실행된후Controller 객체는HandlerAdapter 객체에 ModelAndVi ew 객체를반환하는데ModelAndView 객체에는사용자응답에필요한데이터정보와뷰정보(JSP파일)가담겨있다. 다음으로HandlerAdapter 객체는Mod elAndView 객체를다시DispatcherServlet 객체에반환한다.
servlet-context.xml
앞에서 DispatcherServlet를 서블릿으로 등록하는 과정을 살펴봤습니다 - param-name 은 contextConfigLocation이 등록되어 있는데 이는 스프링 설정파일을 다른이름으로 여러 개 생성 하도록 해줍니다. - param-value 는 servlet-context.xml로 지정하고 있는데 이때 지정된 servlet-context.xml파일이 스프링 설정의 역할을 하는 파일입니다.
만약 스프링 설정파일을 여러 개 생성하고 싶다면 에 파일경로를 여러 개 적어주면 됩니다. 그 다음 xml파일로 직정 생성해 주면 됩니다.
새롭게 생성한 스프링 설정파일을 가장 mvc설정 파일로 지정하는 방법은 기존 servlet-context.xml 의 스키마 설정을 복사해서 넣어 주면 됩니다.
스프링 컨테이너 안에는 HandlerMapping HandlerAdapter 가 생성되어야 한다
<annotation-driven />의미 이태그는HandlerMapping, HandlerAdapter를객체로생성합니다. 스프링어노테이션을사용할수있게합니다. 반드시 선언되어야 합니다. 추후 자동생성 어노테이션을 학습합니다.
<annotation-driven /><resources mapping="/resources/**" location="/resources/" />의미
정적 자원 맵핑
Css, script 파일들을 사용하기 위한 경로 설정입니다.
resources폴더에 만들어지는 파일들은 해당 경로로 바로 맵핑되어 보여집니다.
뷰 리졸버
컨트롤러에서 받은 View정보에 /WEB-INF/views/이름.jsp 이름만으로 맵핑하게 해줍니다.
<context:component-scan base-package= "cohttp://m.myweb.xxxx" />의미
스프링 컨테이너에게 자바패키지를 자동으로 스캔해서 객체(bean) 으로 생성해주세요