지난 포스팅에 이어 이번에는 Controller에를 거쳐
[개발/spring boot, gradle, mybatis Project] - [spring boot] gradle 프로젝트 생성하기(sts)
jsp 페이지로 오는 모듈을 작성해 보도록 하겠습니다.
아주 기본 페이지만 만들것이기 때문에 간단히 따라하실 수 있습니다.
결과적인 프로젝트 구조는 다음과 같이 만들 것 입니다.
그럼 먼저
build.gadle을 살펴보겠습니다.
apply plugin: 'java'
apply plugin: 'eclipse-wtp' // 이클립스에서 구동하고 배포하기위해 플러그인 설치합니다.
apply plugin: 'war'
sourceCompatibility = 1.8 // 자바 버전입니다.
targetCompatibility = 1.8
version = '1.0'
jar {
manifest {
attributes 'Implementation-Title': 'Gradle Quickstart',
'Implementation-Version': version
}
}
eclipse {
// 빌드하고나면 프로젝트정보도 같이 지워지는데, Gradle프로젝트임을 인식시켜줍니다.
project.natures "org.springsource.ide.eclipse.gradle.core.nature"
wtp {
facet {
facet name: 'jst.web', version: '3.1'
facet name: 'jst.java', version: '1.8'
}
}
}
repositories {
mavenCentral()
}
dependencies {
compile group: 'commons-collections', name: 'commons-collections', version: '3.2'
testCompile group: 'junit', name: 'junit', version: '4.+'
//추가 내용
providedCompile "javax.servlet:javax.servlet-api:3.1.0"
compile "org.springframework:spring-webmvc:4.1.6.RELEASE"
compile "org.springframework.boot:spring-boot-starter-web:1.5.8.RELEASE"
/*내장 톰켓에서 jstl 인식하도록 추가*/
compile group: 'org.apache.tomcat.embed', name: 'tomcat-embed-jasper', version: '8.5.20'
compile('javax.servlet:jstl:1.2') /*jsp를 사용하기 위해 jstl 추가 */
}
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8' // 인코딩 UTF-8로 통일.
test {
systemProperties 'property': 'value'
}
uploadArchives {
repositories {
flatDir {
dirs 'repos'
}
}
}
스프링부트는 내장 톰캣을 지원하기 때문에 이를 활용하기 위해
따로 톰캣을 설정하지 않고, build.gradle로 설정하였습니다.
이번엔 Index.java 파일을 만들어보겠습니다.
package lee;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Index {
public static void main(String[] args) {
SpringApplication.run(Index.class);
}
}
@SpringBootApplication의 의미는
@SpringBootApplication = @Configuration + @EnableAutoConfiguration + @ComponentScan
이런 의미 입니다.
@Configuration : 현재 클래스가 Spring의 설정 파일임을 알려주는 어노테이션
@EnableAutoConfiguration : Spring boot 클래스패스 세팅 및 다양한 Bean 추가 등을 시켜주는 어노테이션
@ComponetScan : 다른 컴포넌트, 서비스, 설정 등을 찾을 수 있게 도와주는 어노테이션
이번엔 MainController 입니다.
package lee.main.controller;
import java.text.DateFormat;
import java.util.Date;
import java.util.Locale;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
public class MainController {
@RequestMapping(value = "/", method = RequestMethod.GET)
public String home(Locale locale, Model model) {
Date date = new Date();
DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale);
String formattedDate = dateFormat.format(date);
model.addAttribute("serverTime", formattedDate );
return "index";
}
}
코드 내용을 보면 특이한점이 없다는점을 알 수 있습니다.
기본 '/' 패스를 찾아 index.jsp 페이지로 이동 시기는 것 입니다.
이제 return 값이 index.jsp를 찾아갈 수 있도록 설정해보겠습니다.
기존 스프링은 dispatchServlet 에 설정 을 두고 여러 xml 파일을 읽었습니다.
하지만 스프링부트는 설정을 간단하게 할수 있습니다.
application.Properties를 생성해보겠습니다.
application.Properties 파일을 만들기위해
new - General - File을 선택하여 확장자까지 제가 입력해서 만들었습니다.
그리고
spring.mvc.view.prefix: /WEB-INF/views/
spring.mvc.view.suffix: .jsp
를 입력해 줍니다.
설정이 간단하지 않나요?
그리고 이제 index.jsp 페이지를 만들어보겠습니다.
위의 사진처럼 만들기위해서는
/WEB-INF/views/ 폴더를 직접 생성해주셔야 합니다.
그리고 거기에 index.jsp 페이지를 만듭니다.
index.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!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=EUC-KR">
<title>Insert title here</title>
</head>
<body>
The time on the server is ${serverTime}.
<br>
</body>
</html>
그리고 화면을 요청해 보겠습니다.
기폰패스를 입력하여 index 페이지를 출력하였습니다.
다음 포스팅은 mvc 패턴을 실습해 봐야겠습니다.
감사합니다.
'개발 > spring boot, gradle, mybatis Project' 카테고리의 다른 글
| #번외_[spring boot] mac에서 gradle 프로젝트 git으로 내려받기(git import) (0) | 2017.11.22 |
|---|---|
| #7_[spring boot] 쿼리 로그 찍기(gradle, mybatis)-log4jdbc-log4j2 (0) | 2017.11.19 |
| #6_[spring boot] 쿼리 로그 찍기(gradle, mybatis) (0) | 2017.11.17 |
| #5_[spring boot] 부트스트랩(bootstrab) 시작하기(적용) (0) | 2017.11.14 |
| #4_[spring boot] mybatis 연결하기(gradle)_MVC 구축 (12) | 2017.11.10 |
| #2_[spring boot] gradle 프로젝트 생성하기(sts) (0) | 2017.11.02 |
| #1_[spring boot] gradle 설치하기(윈도우) (0) | 2017.10.27 |