이 글에서는 스프링 부트 프레임 워크를 사용하여 스프링 MVC 웹 애플리케이션을 만들고 부트 스트랩하는 방법을 설명하겠다. JSP를 웹 애플리케이션의보기로 사용합니다.
이 응용 프로그램에 사용되는 도구 및 기술은 다음과 같습니다.
- Spring Boot 2.1.x
- Tomcat Embedded (Spring Boot 내장)
- JavaSE 1.8
- Maven
- IntelliJ IDEA Ultimate
프로젝트 구조(TREE)
1. 프로젝트 추가
2. 실행해보기(오류 발생)
우측 상단에 빨간펜으로 칠한 실행버튼을 누르면 프로젝트를 받자마자 에러가 납니다.
properties 에 db관련정보가 없어서 에러가 납니다.
방법은 db접속정보를 넣어주거나 일단 tutorial이니 어노테이션 하나로 처리합시다.
@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})
실행이 잘 성공한다면 아래와같이 나온다.
3. 각종 소스
- pom.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
<?xml version="1.0" encoding="UTF-8"?>
<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>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.8.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.penthegom.example</groupId>
<artifactId>penthegomdemo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>penthegomdemo</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.0</version>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- JSP -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
|
cs |
- application.yml(application.properties 를 application.yml로 변경후 적읍시다! 한글주석과 트리형태로 관리가 됩니다.)
1
2
3
4
5
6
|
spring:
mvc:
view:
prefix: /WEB-INF/views/
suffix: .jsp
static-path-pattern: /resources/**
|
cs |
- index.jsp
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP - Hello World Tutorial - penthegom</title>
</head>
<body>
<%= "Hello World!" %>
Hi penthegom !!
</body>
</html>
|
cs |
- test.html
1
2
3
4
5
6
7
8
9
10
|
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
resources test
</body>
</html>
|
cs |
- HelloController.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
package com.penthegom.example.penthegomdemo.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class HelloController {
@RequestMapping("/")
public String index() {
return "index";
}
}
|
cs |
4. 실행 결과 화면
################## 필자가 하면서 에러 났던 부분 혹은 참고사항 ##################
문제 -> No mapping for GET /WEB-INF/views 어쩌구 저쩌구... 와 함께 404에러
해결 -> pom.xml에 jsp읽을 수 있는 디펜던시 추가(위 pom.xml 47라인 참고)
문제 -> jsp나 html수정시 재기동 해야만 적용되는거 바로바로 적용되게 하려면?
해결 -> https://penthegom.tistory.com/50 글 참고
문제 -> 이클립스에서 maven 관련 꼬임현상(?)이 빈번하게 일어나 항상 project-clean, maven clean 등 인텔리제이에서도 무언가가 적용이 되지 않을때.. 예) 디펜던시 추가 후 라이브러리가 제대로 추가가 되지 않는다면?
해결 -> 빨간 새로고침 버튼 클릭(Reimport All Maven Projects)
'JAVA/SPRING > SPRING-BOOT' 카테고리의 다른 글
[Spring Boot]Spring MVC JSP + Mybatis + PostgreSQL(DB) 웹 튜토리얼(인텔리제이용 intelliJ) - 2 (2) | 2019.10.10 |
---|---|
[Spring Boot] JSP 소스 수정 바로 적용 방법 (0) | 2019.10.02 |
Spring Boot의 application.properties에 대해.. (0) | 2018.02.09 |
[Spring-boot]eclipse에서 Maven 으로 OpenCV 사용하기 (0) | 2018.02.09 |
Spring Boot RESTFul Web Service Example – GET/POST/PUT/PATCH/DELETE (0) | 2018.02.01 |