-
Spring (1) - 기존 servlet-jsp와 차이점Web/Spring 2023. 6. 28. 14:43
- Spring MVC만들기
> sts3을 통해서 Spring MVC Project를 만들었다.
> Spring은 maven(프로젝트 관리도구)으로 툴로 생성-빌드-배포 된다. (디렉토리 구조도 maven이 만들어준다)
> 프로젝트 생성시 패키지명의 끝이 context path로 등록된다.
ex com.mycompas.myapp -> /myapp
> 스프링 mvc프로젝트를 만들면, 기본적인 mvc구조가 미리 갖춰져있다.
> 기존 servlet-Jsp와 크게 3가지 차이점이 있다.pojo,라이브러리관리,DB관리 등의 변동이다.
Spring과 servlet-jsp MVC와 차이점
1 @HandlerMapping (pojo의 변동)
- 기존에 요청 당 존재했던 pojo가 스프링에서는 1개의 pojo에 여러 메서드들이 요청을 처리하면서, pojo의 갯수를 줄일 수 있게 되었다.
- 따라서 기존의 class별 맵핑이 Spring에서는 메소드 별 맵핑으로 바꿔야한다.
- memberController를 만들고 그아래에 pojo에 requestHandler를 옮겨보았다.
> 함수명이 겹치는 문제가 발생 -> 기능에 따라 메서드 구분할 것임으로 pojo가 Controller를 구현할 필요 없음
- 위와 같이 기능별로 함수명을 구분해서 사용할 것이다.
> 기존의 핸들러 맵핑은 필요가 없다.
> 스프링에서 지원하는 @RequestMapping()을 이용해서 메서드별 요청처리를 맵핑할 수 있다.
- 이제 프론트 컨트롤러는 pojo와만 연결된다.
> 기존의 viewResolver와 handlerMapping 클래스가 필요없다.
정리하자면,
* 기존에는 요청에 따라 pojo의 갯수가 너무 많이 늘어나서 관리가 힘들었다. (서블릿 늘어나듯이)
*프론트 컨트롤러와 1개의 pojo를 연결하고, pojo안에 메서드가 요청을 처리하도록 바뀌었다.
* 따라서 pojo는 Controller를 구현할 필요가 없으며, 기존의 handlermapping클래스와 viewresolver는 필요없다.
* 대신에 spring에서 제공하는 viewresolver와 @RequestMapping을 통해 메서드별로 요청을 처리할 수있게 되었다.
-memberController만들고, model이랑 mybatis 패키지, 뷰등 가져옴
public class MemberController { @RequestMapping("/memberList.do") public String memberList() { return "memberList"; } @RequestMapping("/memberInsert.do") public String memberInsert() { return "redirect:/memberList.do"; } @RequestMapping("/memberRegister.do") public String memberRegister() { return "memberRegister"; } }
pojo에 메서드들을 다음과 같이 요청에 엮어두었다.
2 maven
- 스프링은 maven에 의해 생성-빌드-배포된다.
- maven에서 가장 중요한 것은 pom.xml파일이다.(Project object model)
- pom.xml파일은 라이브러리 (API)를 관리한다.
> 메이븐으로 JDK 버전바꾸기
- 스프링관련 api들 기본저장소는 maven/repository이다.
- pom파일을 통해 다운 받을 수 있다.
- 기존에 jar파일을 직접 다운 받아서 lib폴더에 집어 넣었던 것 보다 훨씬 쉽게 라이브러리 관리가 가능해짐
> api추가하기
<dependencies> --> 추가 <dependency> </dependency> <-- </dependencies>
<dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.1</version> <scope>provided</scope> </dependency>
- mavnrepository 사이트에 저장소를 통해서 다운받아짐
- 필요한 라이브러리를 다운받을 수 있는 dependency를 pom파일에 위와 같이 추가하면 다운받아진다.
'Web > Spring' 카테고리의 다른 글
Spring MVC01 - 스프링 동작 절차 (0) 2023.06.28 Spring MVC01 - DB연결하기 (0) 2023.06.28 스프링 - 간단 용어들 정리 (0) 2023.03.05 스프링 MVC -간단한 코드로 보는 원리 (0) 2023.03.04 스프링MVC -관심사의 분리 (0) 2023.03.04