훈훈훈
Spring Framework :: IntelliJ 환경에서 Spring MVC 초기 설정 본문
이번에는 Spring MVC 초기 설정하는 과정에 대하여 정리해보려고 한다.
요즘 스프링 부트를 공부하기 전에 스프링 프레임워크에 대해 먼저 공부를 진행하고 있지만 ...
이전에 Django를 사용했었을 때는 보지 못했던 개념들 많아 .... 모르던 부분들은 계속 공부하고 정리해보려고 한다....
# Spring MVC 란 ?
스프링 프레임워크에는 다양한 종류의 모듈이 존재한다.
이번에는 그 중에서 웹 프레임워크를 만들기 위한 모듈 중 Spring MVC에 대한 간단한 개념과 초기 설정을 정리해보려고 한다.
IDE는 Intellij를 사용했으며, 이클립스에도 STS를 사용하면 거의 동일하게 사용할 수 있다.
먼저 Http Request 시 Spring MVC에서 처리되는 과정을 살펴보면 아래 그림과 같다.
- 기본적인 개념은 기타 웹 프레임워크의 MVC 패턴과 유사하다.
- 과정을 간략히 살펴보자면, Http Request 시 먼저, Dispatcher Servlet에서 요청받은 내용을 처리한다.
- 자바 웹 어플리케이션은 Tomcat과 같은 서블릿 컨테이너가 받는 모든 요청을 제일 앞단에서 Dispather Servlet이 처리한다.
- 그 다음 Handler Mapping에서 요청 받은 URL에 대하여 어떤 Controller가 처리할지 결정한다.
- 그리고 다시 Dispather Servlet에서 Controller에게 클라이언트의 요청을 전달하고 리턴 값을 View에 전달한다.
Spring MVC 초기 세팅
# Intellij IDE 실행 후, 프로젝트 생성
- 아래 그림에서 Java와 Marven 항목에서 자바 버전 설정 후 프로젝트 생성
# Spring MVC 추가
- 프로젝트 생성 후 Add Framework Support 에서 Spring MVC 추가
- 위 과정이 제대로 적용되었다면, 아래와 같은 구조로 세팅이 되어 있는 것을 확인 할 수 있다.
# web.xml 설정
그 다음 web.xml 파일에서 <servlet-mapping> 태그 내에 있는 <url-pattern> 부분을 아래와 같이 수정하자
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern> <!-- *.form -> / 바꾸기-->
</servlet-mapping>
위와같이 "/" 변경을 해줘야 url을 / 기준으로 구분하게 된다.
그 다음 아래와 같이Project Struture에 있는 Artifacts에서 Available Elements에 있는 라이브러리를 추가한다.
(아래 그림은 이미 라이브러리를 추가한 상태이다.)
# dispathcer-servelt.xml 설정
annotation과 component를 사용하기 위해 아래와 같이 추가한다.
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
<mvc:annotation-driven></mvc:annotation-driven> <!-- Annotation 활성화 -->
<context:component-scan base-package="Controller"></context:component-scan> <!-- Component 패키지 지정 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
</beans>
# views 디렉터리 생성 및 index.jsp 파일 이동
WEB-INF 디렉터리 하위에 views 디렉터리를 생성 후 index.jsp를 옮겨준다.
# Controller 디렉터리 생성 및 controller 파일 생성
src/main/java 경로에 Controller 디렉터리를 생성 후 HelloController.java 파일을 아래와 같이 생성하자.
# Tomcat 설치 및 추가
만약 Local에 Apache Tomcat이 설치되어 있지 않다면 아래와 같이 설치를 진행한다.
brew install tomcat
그 다음 run -> configuration 에서 Tomcat 서버를 등록한다.
아래 그림과 같이 적용할 톰켓 서버와 URL주소 포트 등을 설정하자.
Application Server 선택 시 Local PC에 Tomcat Server가 설치된 경로 선택하면 되지만, 경로가 숨겨져 있기에 아래와 같이 진행하자.
- Mac OS 기준으로 Tomcat 설치 경로
> usr/local/Cellar/tomcat/<버전 명>/libexec
> usr 경로는 Machintosh HD에서 숨김 폴더 해지 후 접근 가능 ( Shift + Command + '.' )
# 실행 화면
'Spring Framework > 개념' 카테고리의 다른 글
Spring boot :: QueryDSL을 사용해서 No Offset Paging 구현하기 (0) | 2021.01.10 |
---|---|
Spring boot :: JPA에서 OneToOne 관계 N+1 문제 정리 (0) | 2020.12.28 |
Spring boot :: Kotlin + Hibernate 사용 시, lazy loading 이슈 정리 (1) | 2020.12.19 |
Spring Security :: CSRF protection disable option 대한 생각 정리 (0) | 2020.10.20 |
Spring :: @RequestBody with Multiple Object arguments 오류 정리 (0) | 2020.10.11 |