반응형

이 글에서는 스프링 부트 프레임 워크를 사용하여 스프링 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


프로젝트 구조 

스프링 부트 프로젝트 구조를 검토하십시오.

spring-boot-mvc-jsp.png

관련 -  이클립스 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추가합니다 EnvironmentSpring 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-boot-mvc-jsp1.png

제출 버튼을 클릭하고 결과 페이지를보십시오.

spring-boot-mvc-jsp2.png

Spring 부트 애플리케이션을 실행 가능한 전쟁으로 패키징하기

임베디드 서블릿 컨테이너를 사용하고 있다면 jar 대신에 스프링 부트 애플리케이션을 war로 패키징해야한다. JSP 지원에는 몇 가지 제한 사항이 있습니다. 더 읽기 ..

다음 maven 명령을 사용하여 스프링 부트 응용 프로그램을 전쟁으로 패키지 할 수 있습니다.

mvn clean package

명령 줄에서 실행 가능한 전쟁 실행

다음 명령을 사용하여 CMD에서 전쟁을 실행하십시오.

>java -jar spring-boot-web-application-example-0.0.1-SNAPSHOT.war
소스 다운로드


반응형

+ Recent posts