728x90

 

add

- 전부다 포워딩 => 나눠본거지만 한 덩어리다!!

- 같은 색 같은 기능

 

- HandlerMapping 이 이렇게 url-java를 연결하는 역할을 한다 이런부분은 이제 없어진다!!

<스프링 MVC>

 

스프링 MVC도 컨트롤러를 사용하여 클라이언트의 요청을 처리한다

스프링에서 DispatcherServlet MVC에서 C(Control) 부분을 처리한다.

개발자가 처리할 부분은 클라이언트의 요청을 처리할 컨트롤러와 응답화면을 전송할 JSPVelocity 템플릿 등 뷰 코드이다

DispatcherServlet, HandlerMapping, ViewResolver등은 스프링이 기본적으로 제공하는 구현 클래스를 사용한다.

 

스프링 MVC의 구성 요소

1. DispatcherServlet  =>C

클라이언트의 요청을 전달 받는다

컨트롤러에게 클라이언트의 요청을 전달하고 Controller가 리턴한 결과값을 View에 전달하여 응답을 생성하도록 한다.

 

2. HandlerMapping 

클라이언트의 요청 URL을 어떤 Controller가 처리할지를 결정한다

 

3. Controller   => M Model! JAVA 부분을 이야기 하는 것!! 이름 헷갈리기 주의~!!!

클라이언트의 요청을 처리한 뒤 결과를 DispatcherServlet에 알려준다

 

4. ModelAndView

컨트롤러가 처리한 결과 정보 및 뷰 선택에 필요한 정보를 담는다.

 

5. ViewResolver

컨트롤러의 처리 결과를 생성할 뷰를 결정한다.

 

6. View                        => 스타트업은 타임리프를 쓸것이다?!

컨트롤러의 처리 결과 화면을 생성한다.

JSPVelocity 템플릿 파일등을 뷰로 사용한다.

 

 

STS의 Spring MVC Project 로 생성하면 좋지만 이걸로하면 왜있는지를 모르니까 처음에는

스프링이아닌 일반 웹인 Dynamic으로 만들어서 다 쳐보는걸로 실습!!


[실습]

Project : chapter06 (Dynamic Web Project) - *.jar

project명에서 우클릭 - Spring - Add Spring Project Nature

 

Project : chapter06_SpringWebMaven (Dynamic Web Project) - pom.xml

project명에서 우클릭 - Spring - Add Spring Project Nature

project명에서 우클릭 - Configure - Convert to Maven Project

project명에서 우클릭 - Maven - Update Project...

 

Project : chapter06_SpringMVC (Spring MVC Project)

 Spring MVC Project requires a download of 16608 bytes - Yes

 3단계로 package를 작성해야한다

Package 3단계로 설정할 때 마지막을 Project(chapter06_SpringMVC)과 똑같이 잡아야 URL의 경로를 /chapter06_SpringMVC로 인식한다

만약 Project명이 chapter06_SpringMVC이고 Package명은 com.example.spring으로 설정하면 URL 경로가 /spring로 잡힌다

 

http://localhost:8080/chapter06_SpringMVC/main/index.do - error

http://localhost:8080 /main/index.do 하면 결과가 나온다

그러면 경로를 바꾸어야 하는데

Tomcat에서 더블클릭 - Modules() - Path : /spring /chapter06_SpringMVC로 변경하면 된다

 

Please specify the top-level package e.g. com.mycompany.myapp* :

com.example.chapter06_SpringMVC

 

 JDK Spring 버전을 변경한다

- JDK는 기본이 1.6 으로 생성된다.

- 스프링은 기본이 3.1.1 으로 생성된다

 

 

- 자바버전맞추기

 

 

 

 

- jar 넣기

- common logging / jstl / standard / lombok 까지 총 26개 넣기! + ojdbc / mybatis

 

 

<메이븐프로젝트에는 디펜던시 복붙>

+ jstl(스탠다드는 이거있으면 생략가능)

 

- web.xml

- 스프링 설정 파일 

: 웹이아닐땐 appli... 웹일땐 서블릿에 등록한 이름으로!!!

 

이렇게 들어와 진다~!!!!

- 서블릿 요청

 

- 핸들러매핑이 dispatcherservlet 이랑 @controller로 지정된 클래스를 찾아서 연결해준다!

- modelandview 는 데이터도 싣고 뷰에도 연결해준다 => request보다 더많은일을 한다!

- @ResponseBody 정말 자주쓰인다 =>단수 문자열로 인식하는 것! 파일명을 인식하지말고 단순한 문자열로 알아들어라!!!

-


- cf) 파일명으로 인식해버리는 스프링의 특징

리턴 타입이 String 이면 단순 문자열로 인식하는 것이 아니라 파일명으로 인식한다.

 

=> @ResponseBody를 사용하면 단순 문자열로 인식한다.

한글 처리

프로젝트 생성방법

1. 다이나믹 웹

2. 스프링으로변환

3. lib 넣기

4. web.xml

5. context 설정파일

 

web.xml => 

728x90

+ Recent posts