본문으로 바로가기

[공부 할 내용]

1. Dispatcher Servlet(Front-controller) 등록하기

    - 요청받아들이고 응답하는 역할을 한다.

    - 요청을 받아서 실제 로직을 수행하는 controller(handler)로 전달

    - Spring MVC에서 spring-container 역할도 한다.-스프링 설정파일이 필요

      :MVC 패턴을 구현하기 위한 구성요소

       (controller,viewResolver,handlerMapping )들이 있는데,

             해당 구성요소들을 스프링컨테이너에 bean으로 등록해서 사용한다.  

  1-1 web.xml 수정

    - dispatcher servlet 등록

  1-2  dispatcher-servlet 스프링 설정파일 작성

      *따로 설정을 하지 않으면, 아래 설정을 따라간다.  

      WEB-INF/{'servlet-name'}-servlet.xml  

      ex) dispatcher 의 이름의 servlet의 설정파일

        >> WEB-INF/dispatcher-servlet.xml

      *스프링 설정파일 위치와 이름 지정하기

      <servlet> 태그 하위요소인

      <init-param>을 지정하면, 스프링 설정파일의 위치와 이름을 정할 수 있다.  

2. 나머지 필요한 구성요소 채워넣기

   2-1 Controller 등록하기

     - 어떤 요청을 처리할지 메서드 마다 등록 

[실습하기]

이미지0-1) 실습을 위해서 필요한 라이브러리 jstl, 톰캣
실습을 위해서 Dynamic Web Project로 Project를 생성한다. 그 뒤에 기본적인 톰캣등과 같은 기본적인 라이브러리 등의 Build Path를 잡아준다. 그 뒤 프로젝트를 우클릭해서 Maven 프로젝트로 변경해주고 실습에 필요한 라이브러리를 추가해준다.

(필요한 라이브러리)

Spring : core, context, jdbc, aop, web, webmvc, test

MyBatis : mybatis, Mybatis-spring

oracle : ojdbc

Aspectj: aspectjrt, aspectjweaver

test : junit

log4j​

이미지1) 

web.xml 파일을 생성 및 설정해주기 위해서 이미지를 참고하여 web.xml 파일을 생성해준다.

이미지2-1)

web.xml에 기존에 있던 <welcome-file-list>속성 (내용포함) 삭제하고 'disp' 까지 작성 한 다음 자동완성 창을 띄운다음 이미지에 보이는 dispatcherservlet을 선택해 준다.

이미지2-2) 

그러면 위와 같은 자동완성이 생성되는데 이때 실습내용대로 몇가지 사항을 수정해 준다. (빨간색 체크된 부분을 수정 할 거임) location에 들어갈 것은 context 파일의 위치이다.

이미지2-3)

위 처럼 각각 내용을 수정해준다. 그 다음 param-value에 적은 경로에 해당 context.xm 파일을 만들어 준다. *파일을 먼저 만들고 경로를 적던 경로를 먼저 적고 파일을 만들던 자기 마음

이미지3-1)

앞서 선언한 경로대로 WebContent 하위폴더 WEB-INF에 spring 이라는 폴더를 만들고 해당 폴더 안에 app-context.xml 파일을 생성해준다. 이때 xml 파일은 Spring Bean Configuration File 이다.

이미지4-1) app-context.xml 작성

이미지5-1) 실습에 필요한 패키지 및 클래스 만들기

패키지를 생성한 다음에는, 실습에 필요한 클래스들을 생성해준다.

이미지5-2) StudentService.java 코드

@을 이용해서 bean으로 등록해주고, 스프링컨테이너에 bean으로 등록해두었던 StudentDao를 멤버변수 dao에 의존성 주입해준다. 그 다음, getStudentList()는 dao의 기능을 활용하여, StudentList를 반환한다.

이미지5-3)StudentController.java 코드 / 주석 참고 

.... 다음은 별거 없음, 컨트롤러에서 jsp로 list를 보내고 jsp는 테이블로 리스트를 출력해냄 끄읏.



 



'수업내용 정리 > 정리안된 메모' 카테고리의 다른 글

2019-01-08  (0) 2019.06.16
2019/01/07  (0) 2019.06.16
19/01/04​  (0) 2019.06.16
19/01/03​  (0) 2019.06.16
19/01/02  (0) 2019.06.16