이 글에서는 스프링 부트 프레임 워크를 사용하여 스프링 MVC 웹 애플리케이션을 만들고 부트 스트랩하는 방법을 설명하겠다. JSP를 웹 애플리케이션의보기로 사용합니다.
이 응용 프로그램에 사용되는 도구 및 기술은 다음과 같습니다.
- Spring Boot 1.5.4.RELEASE
- Spring WebMVC 4.3.9.RELEASE
- Tomcat Embedded 8.5
- JavaSE 1.8
- Maven 3.3.9
- Eclipse Neon.3
프로젝트 구조
스프링 부트 프로젝트 구조를 검토하십시오.
관련 - 이클립스 IDE에서 메이븐 프로젝트를 만드는 방법 .
Jar dependencies
스프링 부트에서 스프링 MVC 웹 애플리케이션을 생성하고 실행하려면 파일에 spring-boot-starter
의존성 을 추가해야한다 pom.xml
.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
다음은 전체 pom.xml
파일입니다.
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>com.boraji.tutorial.springboot</groupId>
<artifactId>spring-boot-web-application-example</artifactId>
<version>0.0.1-SNAPSHOT</version>
<properties>
<java.version>1.8</java.version>
</properties>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.4.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- JSTL tag lib -->
<dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>javax.servlet.jsp.jstl-api</artifactId>
<version>1.2.1</version>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
<!-- Tomcat for JSP rendering -->
<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>
<packaging>war</packaging>
</project>
컨트롤러 클래스
패키지 HelloController
아래 에 클래스를 com.boraji.tutorial.springboot.controller
만들고 다음 코드를 작성하십시오.
HelloController.java
package com.boraji.tutorial.springboot.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
@Controller
public class HelloController {
@RequestMapping("/")
public String index() {
return "index";
}
@PostMapping("/hello")
public String sayHello(@RequestParam("name") String name, Model model) {
model.addAttribute("name", name);
return "hello";
}
}
JSP 뷰
프로젝트 구조에 표시된대로 폴더 아래에 파일을 index.jsp
만들고 hello.jsp
파일을 만듭니다 src/main/webapp/WEB-INF/views
.
index.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<!-- Static content -->
<link rel="stylesheet" href="/resources/css/style.css">
<script type="text/javascript" src="/resources/js/app.js"></script>
<title>Spring Boot</title>
</head>
<body>
<h1>Spring Boot - MVC web application example</h1>
<hr>
<div class="form">
<form action="hello" method="post" onsubmit="return validate()">
<table>
<tr>
<td>Enter Your name</td>
<td><input id="name" name="name"></td>
<td><input type="submit" value="Submit"></td>
</tr>
</table>
</form>
</div>
</body>
</html>
hello.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Spring Boot</title>
</head>
<body>
<h1>Spring Boot - MVC web application example</h1>
<hr>
<h2>Your name is ${name}</h2>
</body>
</html>
Static web resources
기본적으로 봄 부팅은에서 정적 웹 콘텐츠를 제공 /static
또는 /public
또는 /resources
또는 /META-INF/resources
폴더 클래스 경로에 있습니다. 이 예제에서는 스타일 시트, 자바 스크립트 파일과 같은 모든 정적 리소스를 /static
폴더에 저장합니다.
src/main/resources/static/css
폴더 아래에 스타일 시트 파일을 만들고 그 안에 다음 코드를 작성하십시오.
style.css
.form {
background-color: #efefef;
width: 400px;
height: 50px;
border-radius: 7px;
padding: 20px;
}
자, src/main/resources/static/js
폴더 아래에 javascript 파일을 만들고 다음 코드를 작성하십시오.
app.js
function validate() {
var name = document.getElementById("name").value;
if (name == '') {
alert('Please enter a valid name.');
return false;
} else {
return true;
}
}
Application properties
봄 부팅은에서 속성을로드하고 스프링에 application.properties
추가합니다 Environment
. Spring MVC 또는 정적 웹 컨텐트와 관련된 속성을 application.properties
파일에 설정할 수 있습니다 .
원본 폴더 application.properties
아래 에 파일을 src/main/resources
만들고 그 안에 다음 속성을 작성합니다.
application.properties
spring.mvc.view.prefix = /WEB-INF/views/
spring.mvc.view.suffix = .jsp
spring.mvc.static-path-pattern=/resources/**
주 - spring.mvc.static-path-pattern=/resources/**
(가) 매핑됩니다 classpath:/static/css/style.css
에 /resources/css/style.css
. 마찬가지로,에 classpath:/static/js/app.js
매핑됩니다 /resources/js/app.js
. 다음과 같이 jsp에서 이러한 정적 자원을 사용할 수 있습니다.
<link rel="stylesheet" href="/resources/css/style.css">
<script type="text/javascript" src="/resources/js/app.js"></script>
메인 클래스
Spring Boot를 사용하여 Spring MVC 애플리케이션을 부트 스트랩하려면 @SpringBootApplication
다음과 같이 annotation으로 주석이 달린 메인 클래스를 생성한다 .
MainApp.java
package com.boraji.tutorial.springboot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class MainApp {
public static void main(String[] args) {
SpringApplication.run(MainApp.class, args);
}
}
응용 프로그램 실행
실행 MainApp.java
예 → 자바 응용 프로그램으로 실행 → 실행으로 이동 Java 응용 프로그램과 같은 클래스를
이 mvn spring-boot:run
명령을 사용하여 스프링 부팅 응용 프로그램을 실행할 수 있습니다 .
메인 클래스를 실행하면 콘솔 출력은 다음과 같이 보입니다.
이제 브라우저 주소에 http : // localhost : 8080 을 입력하고 입력 필드에 사용자 이름을 입력하십시오.
이제 브라우저 주소에 http : // localhost : 8080 을 입력하고 입력 필드에 사용자 이름을 입력하십시오.
제출 버튼을 클릭하고 결과 페이지를보십시오.
Spring 부트 애플리케이션을 실행 가능한 전쟁으로 패키징하기
임베디드 서블릿 컨테이너를 사용하고 있다면 jar 대신에 스프링 부트 애플리케이션을 war로 패키징해야한다. JSP 지원에는 몇 가지 제한 사항이 있습니다. 더 읽기 ..
다음 maven 명령을 사용하여 스프링 부트 응용 프로그램을 전쟁으로 패키지 할 수 있습니다.
mvn clean package
명령 줄에서 실행 가능한 전쟁 실행
다음 명령을 사용하여 CMD에서 전쟁을 실행하십시오.
>java -jar spring-boot-web-application-example-0.0.1-SNAPSHOT.war
'JAVA/SPRING > SPRING-BOOT' 카테고리의 다른 글
Spring Boot RESTFul Web Service Example – GET/POST/PUT/PATCH/DELETE (0) | 2018.02.01 |
---|---|
[Spring Boot]log4j2 RollingFileAppender 튜토리얼 (0) | 2017.12.05 |
[Spring Boot]log4j2 구성 튜토리얼 (0) | 2017.12.05 |
스프링 부트 샘플 git 모음 (0) | 2017.12.05 |
[SFTP] Spring-boot 에서 spring-integration-sftp 사용하기 (1) | 2017.12.01 |