티스토리 뷰
필요
- grdle 4.10 버전
- eclipse
1. gradle 기본 프로젝트 생성
- 프로젝트 폴더 생성 -> 생성된 프로젝트로 이동 (현재 소스코드에서 my-app으로 만듬)
- gradle 기본 프로젝트 생성
gradle init
src 폴더 생성 후 위에 그림과 같은 구조로 생성
java -> 자바 소스
resource -> 자원 소스(대부분 xml파일이나 프로퍼티, 스프링 설정 파일등) -> 빌드시 classes 폴더 밑으로 이동
webapp -> 웹관련 파일
2. gradle 빌드 파일 설정(build.gradle)
apply plugin: 'war'
apply plugin: 'eclipse-wtp'
// JAVA Version
sourceCompatibility = '1.8'
//어플리케이션 버젼
version = '1.0'
def version = [
spring: '4.3.2.RELEASE'
,servletApi: '2.5'
]
//maven 저장소
repositories {
mavenCentral()
}
//의존성 설정
dependencies {
providedCompile "javax.servlet:servlet-api:${version.servletApi}"
compile "org.springframework:spring-webmvc:${version.spring}"
}
// JAVA 컴파일시 인코딩 설정
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'
3. 프로젝트 파일 추가
- web.xml (웹 설정) [프로젝트 루트 폴더 -> src -> main -> webapp -> WEB-INF -> web.xml]
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>my-app</display-name>
<!-- Spring 사용을 위한 servlet -->
<servlet>
<servlet-name>dispatcher-servlet</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<!-- spring 설정 파일 위치 지정 classpath:{reousrce 폴더 기준 위치}-->
<param-value>classpath:/spring/application-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher-servlet</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>
- application-context.xml (스프링 설정) [프로젝트 루트 폴더 -> src -> main -> reousrces -> spring -> application-context.xml]
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd">
<context:component-scan base-package="info.rinuel" /> <!-- 어노테이션 기반 빈 생성. *여기서 info.rinuel은 나의 패키지명 -->
<mvc:annotation-driven /> <!-- MVC 어노테이션 사용을 위한 설정 -->
<!-- view resolver 생성 -->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/view/"/>
<property name="suffix" value=".jsp"/>
</bean>
</beans>
- SampleController.java (테스트용 컨트롤러) [프로젝트 루트 폴더 -> src -> main -> java -> info -> rinuel -> SampleController.java]
package info.rinuel.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class SampleController {
@RequestMapping("home")
public String loadHomePage(Model m) {
m.addAttribute("name", "my name");
return "home";
}
}
- home.jsp (테스트용 JSP)[프로젝트 루트 폴더 -> src -> main -> webapp -> WEB-INF -> view -> home.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Sample Application</title>
</head>
<body>
<h1>Hello, ${name}!</h1>
</body>
</html>
4. 이클릭스 플러그인을 이용하여 이클릭스 WTP 프로젝트로 변환
gradle eclipse
.project 와 .classpath가 생성된다면 성공
5. eclipse 에서 import
project explorer 에서 우클릭후 import -> import 클릭
- 생성된 프로젝트 우클릭 -> Configure -> Add Gradle Nature (gradle 프로젝트로 명시)
- 빌드 (ctrl + b)
- 프로젝트 우클릭 -> Run As -> Run On Server
- 브라우저에서 localhost:8080/my-app/home.do 입력후 확인
* 최종 디렉토리 구조
- .classpath, .project, .settings, bin/ 은 자동생성됨