MVC model2 방식의 변화 : Dispatcher를 집중화 하기 전의 모델
model1은 컨트롤러와 출력의 담당하는 jsp가 하나로 뭉쳐져 있었지만
model2가 되면서 나누어졌다.
MVC model2 방식의 변화 : Dispatcher를 집중화하기 후의 모델
POJO(Plain Old Java Object) - setter getter로 이루어진 java beans를 뜻한다.
- 라이브러리나 프레임워크에 강제받지 않는 객체
Spring MVC 적용 모델
컨트롤러를 따로 빼고 Dispatcher를 하나만 둔다.
모든 요청을 Dispatcher 가 url을 받아서 컨트롤러에 배분
spring으로 Dispatcher를 쓴다면
어떤 것을 호출해야 되는지 설정값이 필요(url-mapping정보 *-servlet.xml)
결합력을 낮추고 실행환경이 달라지면 유지하기 위해서 사용한다.
MVC를 지원하기 위한 Spring 라이브러리
실행환경 준비
spring tool suite 4.8.0 다운로드
spring tool suite 4.8.0 버전이 필요하다.
4.9.0 버전에는 Java EE가 포함되지 않았다.
GitHub에 버전 보관이 되어있다.
github.com/spring-projects/sts4/wiki/Previous-Versions
메이븐을 이용한 기본 웹 프로젝트 생성
web.xml을 만들지 않아서 에러가 뜨고 있다.
tomcat 파일에 있는 web.xml을 프로젝트 src/main/webapp/WEB-INF폴더를 생성해서 복사 붙여 넣기 해준다
sorce와 target 추가 1.8
아래와 같이 추가해준다.
tomcat api maven 설정하기
index.jsp
F11 서버 설정
tomcat의 home 경로 설정
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.newlecture</groupId>
<artifactId>webprj</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<dependencies>
<!-- https://mvnrepository.com/artifact/org.apache.tomcat/tomcat-api -->
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-api</artifactId>
<version>9.0.43</version>
</dependency>
</dependencies>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
</project>
index.jap
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>Hello JSP</h1>
</body>
</html>