#3_[spring boot] 프로젝트 처음 시작하기(jsp vieeResolver)
지난 포스팅에 이어 이번에는 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 |