티스토리 뷰

Spring

[SPRING] Eclipse Spring Setting

Hwan'ss 2019. 9. 17. 11:04

Eclipse Spring Setting

Step 1. 프로젝트 생성

  • [File] - [New] - [Other...] - [Maven project] - [Use default Workspace location만 check] - [maven-archetype-webapp 1.0 버전 선택] - [Group Id, Artifact Id 설정]

  • Group Id와 Artifact Id 이름은 동일해도 됨

Step 2.

  • 프로젝트 명 클릭 후 Alt + enter을 눌러 환경설정 창을 띄운다.

  • Project Facets 항목 - Dynamic Web Module 2.3->3.0, java 1.5->1.8 로 변경해주어야 하는데 여기서 변경하고 Applt 한다고 변경되지 않는다. 밑에서 설정하는 방법을 설명한다. (여기서 변경하지 않는다.)
  • Runtimes tab에서 Apache Tomcat v9.0 이 선택 -> Apply

Step 2-1. Dynamic Web Module 2.3->3.0, java 1.5->1.8 변경

  • 윈도우에서 위에서 생성한 프로젝트 경로를 찾아서 .settings 디렉토리에 들어가 2개의 파일 편집

  • 아래의 두 파일을 다음과 같이 편집한다.

  • org.eclipse.jdt.core.prefs 파일을 열면 자바 버전 1.5 부분들을 모두 1.8로 편집한다.

  • org.eclipse.wst.common.project.facet.core.xml : "jst.web" version 2.3->3.0, "java" version 1.5->1.8 로 변경

  • 프로젝트 명 클릭 후 Alt + enter 실행 해 환경설정 창 - Project Facets에 들어가 버전이 변경되었는지 확인

  • [pom.xml] - [Dependencies] - [Add...] 에서 라이브러리를 추가 할 수 있지만 이 방법은 거의 사용하지 않는다.

  • 나는 위의 방법이 아니라 단순히 copy해서 가져올 것이다.
  • <코드에서 dependencied> 부터 </build> 까지 제거하고 아래의 파일을 소스코드를 붙여 넣을 것이다.

  • 위의 블록 잡은 코드 부분을 제거하고 아래의 소스코드를 붙여 넣으면 된다.
<properties>
 <spring.version>4.0.1.RELEASE</spring.version>
</properties>
<repositories>
 <repository>
  <id>codelds</id>
   <url>https://code.lds.org/nexus/content/groups/main-repo</url>
 </repository>
</repositories>
<dependencies>
<dependency>
 <groupId>com.oracle</groupId>
 <artifactId>ojdbc6</artifactId>
 <version>11.2.0.3</version>
</dependency>
 <dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.7</version>
  <scope>test</scope>
 </dependency>
 <dependency>
  <groupId>javax.servlet.jsp</groupId>
  <artifactId>jsp-api</artifactId>
  <version>2.2</version>
 </dependency>
 <dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>javax.servlet-api</artifactId>
  <version>3.0.1</version>
 </dependency>
 <dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-webmvc</artifactId>
  <version>4.1.0.RELEASE</version>
 </dependency>
 <dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>jstl</artifactId>
  <version>1.2</version>
 </dependency>
</dependencies>
<build>
 <plugins>
  <plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-compiler-plugin</artifactId>
   <version>3.0</version>
   <configuration>
    <source>1.8</source>
    <target>1.8</target>
   </configuration>
  </plugin>
 </plugins>
</build>
* 주의
- pom.xml이 조금이라도 수정이 된다면 Alt+F5를 눌러 -> Force Update of... 체크하고 -> ok 해준다.

* 알아두기
	환경설정 시 문제가 발생하면 아래의 디렉토리를 찾아서 싹 지우고 다시 다운을 받는다.

* 아래의 사이트에서 디렉토리 구조를 볼 수 있다.
	http://repo.maven.apache.org/ : root 디렉토리
	groupId : <groupId>org.springframework</groupId> 이 그룹에
	artifactId : <artifactId>spring-webmvc</artifactId> 해당 디렉토리가 있다.

Step 3. web.xml 수정

  • [프로젝트] - [src] - [main] - [webapp] - [WEB-INF] - [web.xml]
  • 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>Archetype Created Web Application</display-name>
 
 
 <servlet>
  <servlet-name>dispatcher</servlet-name>
  <servlet-class>
   org.springframework.web.servlet.DispatcherServlet
  </servlet-class>
  <load-on-startup>1</load-on-startup>
 </servlet>
 
 <servlet-mapping>
  <servlet-name>dispatcher</servlet-name>
  <url-pattern>/</url-pattern>
 </servlet-mapping>
 
 <!--한글 설정-->

 <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>/*</url-pattern>
 </filter-mapping>
 
</web-app>
* 위 코드에서 한 가지 주의 사항
   18번 라인 : <servlet-name>dispatcher</servlet-name> => dispatcher만 유일하게 수정이 가능하다.

Step 4. dispatcher-servlet.xml 파일 생성

  • [프로젝트명] - [src] - [main] - [webapp] - [WEB-INF] - 마우스 우클릭 - [New] - [File] - dispatcher-servlet.xml 명으로 생성

  • 생성한 dispatcher-servlet.xml 파일안에 아래 코드를 붙여넣는다.
<beans xmlns ="http://www.springframework.org/schema/beans"
 xmlns:context ="http://www.springframework.org/schema/context"
 xmlns:mvc  ="http://www.springframework.org/schema/mvc"
 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.xsd        
     http://www.springframework.org/schema/context
     http://www.springframework.org/schema/context/spring-context.xsd
     http://www.springframework.org/schema/mvc
  http://www.springframework.org/schema/mvc/spring-mvc.xsd">
 
   <context:component-scan base-package="pack01" />
 
   <mvc:annotation-driven/>
   <mvc:default-servlet-handler/>
  
   <mvc:view-resolvers>
   <mvc:jsp prefix="/WEB-INF/views/"/>
   </mvc:view-resolvers>

</beans>
*여기서 봐야 할 코드는 두 곳
	15번째 줄 : <context:component-scan base-package="pack01" />
    	- java 파일의 위치, java 파일은 여기에 있으니 뒤져서 사용해라.
	21번째 줄 :  <mvc:jsp prefix="/WEB-INF/views/"/>
    	- 앞으로 보여주는 view(html, jsp) 파일은 여기안에 있으니 뒤져서 사용해라.

Step 5.

  • [프로젝트명] - [src] - [main] - [webapp] - [index.jsp] 에서 모든 코드를 지우로 아래의 코드를 붙여넣는다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
 pageEncoding="UTF-8"%>
<%@ page import="java.util.*, java.text.*"%>

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

<head>
	<title>메인 페이지</title>
</head>
<body>
 	<%=new Date()%>
 	<h2>Hello World</h2>

	<a href="t1">링크</a>
</body>

Step 6.

  • [프로젝트명] - [src] - [main] - java 폴더 생성

  • [java 폴더] - [New] - class 생성 - package 이름은 위에서 설정한 'pack01'로 설정 -> Name 입력 후 Finish

  • java 파일을 생성했다면 그 파일에 아래 코드를 붙여 넣는다.
package pack01;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class Tiger {     
 	@RequestMapping("/t1")    
 	public String func() {
  		System.out.printf( "함수 콜\n" );
  		return null;    
 }
}
*
- 위까지 setting을 완료하면 404에러 발생
- 컨트롤러가 실행은 되었지만 연결이 되지 않았다.
- 아래에서 컨트롤러를 연결한다.
  • [프로젝트명] - [src] - [main] - [webapp] - [WEB-INF] - views 폴더 생성

  • [views 폴더] - jsp 파일생성


  • index.jsp 에 링크 추가

  • Tiger.java 에 @RequestMapping 어노테이션 함수 추가 -> retrun "tigerView"를 통해 갈 곳 지정(컨트롤러 연결 완료)

Step 7. 실행

  • 실행 시 열리는 메인페이지

  • 링크1 클릭
    • 컨트롤러 연결이 null 이기 때문에 404 error가 발생한다.

  • 링크2 클릭

  • 실행 결과 문제가 없기 때문에 setting이 정상적으로 완료가 되었다.
  • 앞으로는 이 setting을 프로젝트 마다 하는 것이 아니라 setting 되어 있는 프로젝트를 복사해서 사용하면 된다.
** 프로젝트 복사 하기 **

1. pom.xml -> Spring01을 Spring02로 변경
2. refrash 해준다.
3. a/t + f5 ->  Force Update of.... 체크 -> ok
4. tomcat servers delete -> tomcat server 다시 생성
5. pom.xml -> 편집 * 생기도록 한다 -> web.xml -> 편집 * 생기도록 한다 -> all save -> update
6. 프로젝트명 -> properties -> Path : /Spring02로 걸려 있어야 한다.
7. 실행 시 url에 spring02가 있으면 성공적을 복사를 완료 했다.

위의 7가지만 실행 하면 쉽게 복사를 할 수 있다.

 

 

 

 

2019.09.08(수)

Eclipse Spring Setting

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
TAG
more
«   2024/05   »
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 31
글 보관함