1) 스프링부트
2) 스프링 데이터 - 데이터베이스 연동을 위한 편리한 개발 지원
3) 스프링 배치 - 대량의 데이터를 일괄 처리하기 위한 솔루션, 대형 시스템에 적합
4) 스프링 시큐리티 - 보안과 관련된 여러 기능을 통합 제공
5) 스프링 HATEOAS - REST API에 대해 하이퍼 미디어 기반으로 서비스 정보를 제공하는 기능, API 구조파악과 테스트에 유용
maven 프로젝트를 생성한다
GroupId - 일반적으론 도메인의 역순
ArtufactId - 프로젝트명
Vserion - 버전은 버전!
입력 후 create하면 일단 Maven 프로젝트는 생성된다.
프로젝트명에서 우클릭 -> add frameworks support클릭 -> Spring MVC 다운로드에 Configure 클릭 -> 맞는 버전 찾아서 ok -> ok
Project Structure - Facets에 들어가면 이미 Spring이 있다. delete하면 add frameworks support에 Spring이 나타난다.
근데 여러 설정 건들고나서 add frameworks support에 Spring이 없네?해서 Facets에 있는 Spring delete하고 add frameworks support에서 다운로드하면 잘 안 되더라,,,
(https://hoit1302.tistory.com/66)
pom.xml
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.3.RELEASE</version>
</dependency>
</dependencies>
pom.xml에 spring-webmvc 버전에 맞게 dependency 추가해서 빌드하한다. Spring뿐만 아니라 lombok, log4j, oracle JDBC 등 필요한 라이브러리는 여기 pom.xml에 dependency 설정 후 빌드하면 된다.
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/dispatcher-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
dispatcher-servlet.xml
<?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>
web.xml과 dispatcher-servlet.xml를 수정했다.
web.xml파일의 위치가 이클립스 - STS 와는 다르다. 만약 web.xml의 위치를 바꿀거면 <param-value>/WEB-INF/dispatcher-servlet.xml</param-value>
이런 부분 경로를 맞춰서 바꿔줘야한다.
TestController.java
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class TestController {
@RequestMapping(value = "/")
public String main() {
return "index";
}
}
해당 경로에 TestController.java 파일을 생성한다.
Project Structure에 Artifacts 클릭 -> 오른쪽 라이브러리를 왼쪽 lib로 옮기고 ok
오른쪽 상단의 Add Configuration... 클릭 -> + 버튼 클릭 -> Tomcat Server / local 클릭
톰켓 버전에 맞게 설정하고 URL과 포트 확인한 후 아래쪽 Fix 클릭한다.
fix를 누른 후 화면에서 Application context를 / 로 변경해준다!
실행 성공!😊👌
localhost:8080에 접속하면 index.jsp가 보여진다 ~
인텔리제이로 Spring MVC 프로젝트 생성해보았다.
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>$Title$</title>
</head>
<body>
<% for (int i = 0; i<3; i++) { %>
<h2>안녕하세용</h2>
<% } %>
</body>
</html>
안녕하세용으로 for문으로 반복하도록 index.jsp를 수정하였다.
잘된당