일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 스프링
- angular2
- 전체
- 이클립스
- Full text
- 다운캐스팅
- 상속예제
- 자바
- Login with OAuth Authentication
- Random
- 추상클래스
- 자바 야구게임
- 전자정부
- Validations
- 업캐스팅
- 상속
- while
- 로또
- 전체텍스트
- 단축키
- full text indexing
- 다형성
- 야구게임
- 25가지 효율적인 sql작성법
- 형변환
- IBatis procedure
- jquery
- 페이징
- 가변인자
- Today
- Total
nalaolla
Intellij spring MVC + maven 환경 구축 본문
Intellij maven 환경 구축
New Project에서 좌측 template 유형에서 Maven을 선택합니다.
오른쪽 상단에 Project SDK는 java SDK가 설치된 폴더를 선택하면 됩니다.
오른쪽에 Create from archetyhpe을 체크하게 되면 하단에 여러유형의 archetype을 선택할 수 있습니다.
Maven 기반의 웹 프로젝트를 생성해야 하므로
org.apache.maven.archetypes:maven-archetype-webapp를 선택한뒤 Next 진행합니다.
다음으로 GroupId, ArtifactId, Version을 입력하는 창이 나옵니다.
데모사이트를 만들 목적이기 때문에
GroupId : com.nzin.demos
ArtifactId : demos
Version : 1.0-SNAPSHOT (기본으로 입력된 값 그대로 사용합니다.)
Next로 다음 단계로 넘어갑니다.
Maven을 세팅하는 창이 나오는데
기본설정값으로 넘어가도 되고, 별도의 위치에 Maven을 설정하고 싶다면 Maven폴더를 생성하고
위치를 변경해주면 됩니다.
Maven 폴더는 Maven home directory에서 selectbox를 펼쳐보면 기존에 설치된 폴더위치를 알수 있습니다.
해당 폴더에서 maven3폴더를 카피해서 원하는 위치에 복사하시면 됩니다.
예제에서는 C:\intellij 폴더에 복사하도록 하겠습니다.
Maven home directory를 변경된 위치로 선택하게 되면
Local repository도 해당 maven3폴더 아래에 기본으로 설정됩니다. 위치는 변경하여도 상관없습니다.
User setting file의 경우 maven3\conf\settings.xml파일을 선택합니다.
settings.xml파일을 메모장으로 열어 localRepository를 추가해줍니다.
<localRepository>C:\intellij\maven3\repository</localRepository>
그리고 Next로 다음단계로 넘어갑니다.
프로젝트명을 demos라고 적어주고 Finish해줍니다.
demos 프로젝트가 생성된 intellJ가 구동됩니다.
pom.xml파일이 기본적으로 보여집니다. 별다른 내용은 없습니다.
demos.iml파일을 열어보면 컴퍼넌트들에 대한 경로값들이 들어있습니다.
이 부분은 아래에서 환경설정을 진행하면서 다시 열어보도록 하겠습니다.
프로젝트명에 오른쪽 마우스를 누르고 Add Framework Support를 선택합니다.
Framework를 선택하는 창이 뜨는데..우리는 Spring Framework를 사용할 것이므로, Spring MVC를 선택합니다.
Ok를 하게되면 필요한 라이브러리를 다운로드 하게 됩니다.
다운로드가 완료되고 demos.iml파일을 열어보게 되면
환경들이 더 추가된 것을 알 수 있습니다.
facet type=”web”이 추가되었고, web.xml파일의 경로도 추가되었습니다.
facet tyhpe=”Spring”도 추가되었네요… 기타 정보들도 추가된 것을 알 수 있습니다.
Pom.xml에 파일에 spring framework 버전 properties와 dependency를 추가해줍니다.
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.nzin.demos</groupId>
<artifactId>demos</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>demos Maven Webapp</name>
<url>http://maven.apache.org</url>
<properties>
<java-version>1.7</java-version>
<spring.version>4.3.1.RELEASE</spring.version>
<org.slf4j-version>1.6.6</org.slf4j-version>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- Logging -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${org.slf4j-version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>${org.slf4j-version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>${org.slf4j-version}</version>
</dependency>
<dependency>
<groupId>org.lazyluke</groupId>
<artifactId>log4jdbc-remix</artifactId>
<version>0.2.7</version>
</dependency>
<!-- Log4j -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.15</version>
<exclusions>
<exclusion>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
</exclusion>
<exclusion>
<groupId>javax.jms</groupId>
<artifactId>jms</artifactId>
</exclusion>
<exclusion>
<groupId>com.sun.jdmk</groupId>
<artifactId>jmxtools</artifactId>
</exclusion>
<exclusion>
<groupId>com.sun.jmx</groupId>
<artifactId>jmxri</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<finalName>demos</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<source>${java-version}</source>
<target>${java-version}</target>
<encoding>UTF-8</encoding>
<compilerArgument>-Xlint:all</compilerArgument>
<showWarnings>true</showWarnings>
<showDeprecation>true</showDeprecation>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<configuration>
<mainClass>org.test.int1.Main</mainClass>
</configuration>
</plugin>
<!-- JavaDoc -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.5</version>
</plugin>
</plugins>
</build>
</project>
우측 하단에 maven project need to be imported에서 Enable Auto-import를 클릭해줍니다.
dependency가 추가되면 자동으로 라이브러리를 다운로드 해줍니다.
이제 tomcat 서버를 구축하도록 하겠습니다.
상단메뉴의 Run을 선택하고, Edit Configuration을 선택합니다.
아니면 우측상단에서 Edit Configuration을 선택해도 됩니다.
Run/Debug Configurations창에서 좌측 상단에 있는 +(플러스) 버튼을 선택하게 되면 새로 만들 configuration목록이 나타납니다.
여기서 Tomcat Server를 선택 > Local을 선택합니다.
Name은 구분하기 쉽게 Tomcat7이라고 적었습니다.
Server탭에서는 Application
Server정보를 등록하도록 되어있습니다.
Configure..버튼을 선택하면 Tomcat 위치를 선택할 수 있습니다.
Open browser는 개인적으로 Chrome을 사용하고 있어서 Chrome을 default로 선택합니다.
본인의 PC에 다른 브라우져가 있다면 변경하시면 됩니다.
URL경로는 http://localhost:8090으로 변경합니다.
8080포트가 오라클에서 사용하고 있어서 8090으로 변경한 것이므로 8080포트를 사용하지 않는다면 변경하지 않아도 됩니다.
Tomcat Server Setting에서 HTTP Port도 8090으로 변경합니다.
Deployment탭으로 이동합니다.
우측에 +(플러스)를 선택하고 Artifact를 선택합니다.
Select Artifacts to deploy창이 뜨고 war를 선택항목이 나타납니다.
demos:war exploded를 선택하고 Ok합니다.
아래와 같이 war가 등록된 것을 확인할 수 있습니다.
이제 하단의 Apply를 눌러 환경을 저장합니다. Ok를 눌러 창을 닫습니다.
상단에 server가 등록된 것을 확인할 수 있습니다.
server가 정상적으로 구동되는지 테스트해봅니다.
server옆에 화살표를 클릭하면 서버가 구동되고 브라우져를 통해 웹 어플리케이션이 잘 돌아가는지 확인할 수 있습니다.
Hello World가 정상적으로 뜹니다.
여기까지는 기본적인 웹 환경을 설정하는 것이고,
이제 Spring MVC환경을 구축하도록 하겠습니다.
좌측 Project Exporer에서 src > main폴더에 우측 마우스를 눌러 new > derectory를 통해 java폴더를 만듭니다.
같은 방식으로
src > test > java directory를 만듭니다.
src > test > resources directory를 만듭니다.
각 java폴더와 resources폴더를 우 클릭후 make directory as 를 통해 각 폴더의 Role을 정의해줍니다.
src > main > java -> sources Root
src > main > resource -> resources Root
src > test > java -> test sources Root
src > test > resource -> test resources Root
추후 사용을 위해 main > resources폴더에 spring폴더를 생성해줍니다.
jsp파일을 위해 web > WEB-INF > jsp폴더를 생성합니다.
demos.iml파일을 열어보면 sourceFolder가 추가된 것을 확인 할 수 있습니다.
중간중간 server start해서 브라우져가 잘 뜨는지 확인해보시기 바랍니다.
이제 Web.xml과 servlet, context를 수정하도록 하겠습니다.
web.xml파일을 아래와 같이 수정합니다.
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/*-context.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/*-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>
org.springframework.web.filter.CharacterEncodingFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
</web-app>
servlet관련 xml파일을 다음과 같이 만들고 내용을 추가합니다.
dispatcher-servlet.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns:beans="http://www.springframework.org/schema/beans"
xmlns="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<context:component-scan base-package="demos" />
<!-- Enables the Spring MVC @Controller programming model -->
<annotation-driven />
<beans:bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<beans:property name="prefix" value="/jsp/" />
<beans:property name="suffix" value=".jsp" />
</beans:bean>
</beans:beans>
간단히 컨트롤러를 생성하여 servlet적용이 되는지 확인해보자..
java > demos.common.web 패키지를 생성한다.
MainController.java
package demos.common.web;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* Created by palao on 2016-07-14.
*/
@Controller
public class MainController {
protected Logger logger = Logger.getLogger(this.getClass());
@RequestMapping("/")
public String Index(Model model) throws Exception {
logger.info("index.....");
System.out.println("index");
return "home";
}
@RequestMapping("/main.do")
public String Main(Model model) throws Exception {
logger.info("main.....");
System.out.println("main");
return "home";
}
}
추가 변경된 내용은 pdf 첨부파일로 대체한다..
'기타(개발관련)' 카테고리의 다른 글
JUnit 테스트 시 Spring 구동 및 Autowired하는 방법 (0) | 2017.02.28 |
---|---|
이클립스 UML Plugin Papyrus 설치 (0) | 2016.07.14 |
ERWin 설정 (0) | 2016.07.12 |
이클립스 자바스크립트 자동완성기능 활성화 (0) | 2016.07.11 |
ObjectAid : UML (Class Diagram) 플러그인 (0) | 2016.07.11 |