1강. Spring MVC 소개
[Spring Web MVC]
-Spring Web MVC는 서블릿 API를 기반으로 만들어진 웹 프레임워크이다.
-공식 이름은 Spring Web MVC이지만, Spring MVC라는 이름 더 多사용
-Spring MVC에는 웹 어플리케이션 개발을 위한 다양한 라이브러리가 포함되어 있으며
이를 통해 반복적인 작업을 상당히 줄일 수 있어서 프로젝트 수행 생산성/유지보수성 높임O
[개발 방식]
(1) XML 이용한 방법
(2) 자바 @어노테이션 이용하는 방법
2강. 설치할 프로그램
-JDK 8 버전 이상 -이클립스 -Apache tomcat(9.0) -Oracle Database 11g |
---|
3강. JDK 설치/설정
[JDK]
-Java Development Kit
-Java 기반 프로젝트 수행 위해 반드시 필요한 개발 도구
[JDK 8 환경 변수 설정]
-JDK 설치 경로를 환경 변수로 설정한다.
-JDK 8 설치할 경우 따로 하지 않아도 된다.
-개발에 사용하는 다양한 도구들이 JDK 설치를 자동으로 찾지 못할 경우 경로 알려줄 목적으로 사용한다.
4강. Apache Tomcat 설치
5강. 이클립스 설치/개발환경 구축
[웹 브라우저 설정] : 사용할 웹 브라우저를 설정한다.
-Window > Preferences
-Web Browser -> 크롬으로 설정
[Tomcat 9.0 설정]
-WIndow ->Proferences
6강. Spring MVC 소개
Spring Web MVC
- Spring Web MVC는 서블릿 API 기반으로 만들어진 웹 프레임워크
- Spring MVC 개발 방식은 (1) XML 이용한 방식 (2) 자바 설정 이용 방식
- 스프링 MVC 프로젝트는 내부적으로 일반 JAVA 영역(POJO) 와 Web 영역을 모두 연동하여 구동함
MVC 개념
- MVC(Model-View-Controller) 패턴
: 사용자 인터페이스와 애플리케이션 로직 분리하는 데 사용되는 패턴
🟧Model : 데이터 계층 (Java 클래스로 구성)
🟧Controller : 요청 처리 (서블릿으로 구성)
🟧View: 처리 결과를 보여줌 (JSP로 구성)
Model
- 시스템의 비즈니스 로직을 포함하고, 애플리케이션 상태를 나타내는 ‘데이터 계층’
Controller
- Controller 계층은 View와 Model의 중간 다리 역할
- View 계층에서 요청을 받고, 필요한 유효성 검사를 포함하여 요청을 처리함
- 요청은 데이터 처리를 위해 모델 계층으로 추가 전송되고, 일단 처리되면 데이터는 컨트롤러로 다시 전송된 다음 View에 표시된다.
View
- 일반적으로 UI 형식. 컨트롤러가 가져온 모델 데이터 표시 용도로 사용된다.
Q. WebContent 나타나지 않을 경우 ? A. -> 이클립스 버전 업데이트 이후 바뀌었다. webapp 파일에 똑같이 작성하면 된다. |
---|
<중간에 Library 구조 에러 해결> https://dzzienki.tistory.com/66https://dzzienki.tistory.com/66
[Eclipse Dynamic Web Project로 Spring Maven 프로젝트 만들기
이번 포스팅에서는 STS 나 egovframework 를 사용하지 않고 이클립스에서 Dynamic Web Project 를 이용하여 Spring Maven 기반의 웹 프로젝트를 만들어 보도록 하겠습니다. 이 포스팅의 목적은 가장 기본적인
dzzienki.tistory.com](https://dzzienki.tistory.com/66)
7강. 프로젝트 공통 세팅
[동작방식]
[DispatcherServlet]
-Servlet/JSP에서 사용자 요청이 발생하면 이 요청 정보 해석 후 개발자가 만든 코드 동작시키는 첫 번째 서블릿이다.
-Spring MVC는 DispatcherServlet을 확대하여 Spring Framework가 가지고 있는 기능을 사용할 수있도록 이 클래스를 재정의하고 있다.
-따라서 Spring MVC 프로젝트 설정에서 가장 먼저 해야 하는 일은,
DispatcherServlet 클래스를 Spring MVC에서 재정의한 클래스로 설정하는 일이다.
[설정 방식]
-Spring MVC프로젝트 설정하는 방식에는 (1)XML 이용 방식과 (2) java코드 활용 방식
[프로젝트 설정의 공통 세팅 부분]
➀ Maven 프로젝트로 변경
➁ pom.xml에서 다음의 라이브러리 설정 : [servlet-api] [jsp-api] [jstl] pspringWebMVC]
[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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>SpringMVCStep1</groupId>
<artifactId>SpringMVCStep1</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.1</version>
<configuration>
<warSourceDirectory>WebContent</warSourceDirectory>
</configuration>
</plugin>
</plugins>
</build>
<!-- 라이브러리 버전관리 -->
<properties>
<javax.servlet-version>4.0.1</javax.servlet-version>
<javax.servlet.jsp-version>2.3.3</javax.servlet.jsp-version>
<javax.servlet.jsp.jstl-version>1.2</javax.servlet.jsp.jstl-version>
<org.springframework-version>5.2.2.RELEASE</org.springframework-version>
<!-- <org.springframework-version>4.3.25.RELEASE</org.springframework-version> -->
</properties>
<!-- 라이브러리 셋팅 -->
<dependencies>
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>${javax.servlet-version}</version>
<scope>provided</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.servlet.jsp/javax.servlet.jsp-api -->
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>${javax.servlet.jsp-version}</version>
<scope>provided</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.servlet.jsp.jstl/jstl -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>${javax.servlet.jsp.jstl-version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${org.springframework-version}</version>
</dependency>
</dependencies>
</project>
8강. [XML로 세팅]
[web.xml 설정]
-DispatcherServlet 클래스를 Spring에서 제공하는 클래스로 설정
[ApplicationContext 설정]
-spring MVC로 만든 웹 위한 설정 파일
[RootContext 파일 설정]
-spring MVC 프로젝트 수행 시 사용할 Bean들 정의한 파일
[파라미터 필터 설정]
-파라미터에 한글이 있을 경우 깨지지 않도록 하기 위해 인코딩 설정
[Controller 설정]
-app-context.xml파일에 Controller 찾을 수 있도록 설정
[JSP 설정]
-Controller 작성 수행 후 렌더링될 jsp 설정
[정적 파일 경로 설정]
-HTML에서 사용할 정적 파일들(이미지.사운드/js/css) 배치될 경로 지정
9강. Java로 세팅
[Java로 세팅]
-Spring MVC는 xml 뿐만 아니라 Java 클래스로도 설정이 가능하다.
web.xml -> AbstractAnnotationConfigDispatcherServletInitializer 상속 혹은 WebApplicationInitializer 인터페이스 구현 root-context.xml -> 상속없음 servlet-context.xml -> WebMvcConfigurer 인터페이스 구현 |
---|
'Web(웹)_관련 공부 모음 > [강의] SpringMVC' 카테고리의 다른 글
[Spring] Controller, Service를 분리 작성해야 하는 이유 (0) | 2022.12.06 |
---|---|
Spring MVC의 다양한 기능들-(2) (0) | 2022.04.03 |
Spring MVC 다양한 기능들-(1) (0) | 2022.02.27 |