eclipse tomcat을 설치한 후 springmaven을 이용하여 추가하고 간단한 MVC 모델을 만들어 보겠습니다.  eclipse Version: 2019-03 (4.11.0).

 


1. Eclipse Apache-Tomcat 설치


기본 eclipsetomcat설치는 다음을 참고 하세요.

 

eclipse java apache-tomcat 설치 (Windows)



2. maven 프로젝트 생성


최근에는 maveneclipse에 포함되어 있는데 특별히 사용해야 하는 maven 버전이 있거나 최신 버전을 설치하여 사용하려면 다음을 참고 하세요.


maven 설치 eclipse 연동

 

maven project를 생성하기 위해 상단 메뉴에서

File > New > Maven Project

를 선택 하거나



maven spring mvc project


또는

File > New > Others

에서 선택을 합니다.  


maven spring mvc project


Next 버튼을 클릭 합니다.


maven spring mvc project


프로젝트 생성 위치는 workspace이고 수정이 필요 없으면 Next 버튼을 클릭 합니다.


maven spring mvc project


maven-archetype-webapp을 선택하고 Next 버튼을 클릭 합니다.


maven spring mvc project


Group Id”는 기본적으로 "com.test.maventest" 로 되어 있는데 수정을 해도 됩니다.  “Artifact Id” 는 적당한이름을 입력 합니댜여기서는 "mavenexample"로 하였습니다. “Package” 는 입력 값에 의해 " com.test.maventest.mavenexample" 으로 자동생성 됩니다.

입력이 완료 되면 Finish 버튼을 클릭 하면 프로젝트가 생성되고 생성된 프로젝트의 구조와 파일은 다음과 같습니다.

 

maven spring mvc project



3. 코딩

 

이제 MVC 모델로 코딩을 해보겠습니다.

 

3.1 pom.xml 편집


pom.xml을 이용하여 spring framework를 추가 합니다.


 <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.test.maventest</groupId>

  <artifactId>mavenexample</artifactId>

  <packaging>war</packaging>

  <version>0.0.1-SNAPSHOT</version>

  <name>mavenexample Maven Webapp</name>

  <url>http://maven.apache.org</url>

  <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-webmvc</artifactId>

      <version>${spring.version}</version>

    </dependency>

    <!--  신규 추가 작업 종료 -->

  </dependencies>

  <build>

    <finalName>mavenexample</finalName>

  </build>

 

  <properties>

               <spring.version>4.0.2.RELEASE</spring.version>

  </properties>

 

</project>


3.2 Controller 생성

 

HelloWorldController.java

Class를 생성하려면 pom.xm에 설정한 것과 같이 package를 만들고 진행 해야 합니다. <groupId>com.test.maventest</groupId> 형태로 package를 새로 생성합니다.



maven spring mvc project


com.test.maventest 밑으로 controller, service, vo, dao, common등의 폴더를 생성해서 사용하면 됩니다여기서는 controller만 생성합니다. DB 이용까지 설명하면 너무 길어져서 다음기회에...


controller 폴더를 생성 합니다. 상단 메뉴에서

File > new > Folder

를 선택 하고


maven spring mvc project


maventest 하부에 controller를 입력하고 Finish 버튼을 클릭하여 controller 폴더가 생성 되었습니다. 이제 contoller 폴더에 class 파일을 하나 추가 합니다.


maven spring mvc project


New 에서 class를 선택 하고 Next 버튼을 클릭 합니다.


maven spring mvc project


파일 명을 HelloWorldController로 하여 생성하면 클래스만 있는데 코딩을 합니다.


 package com.test.maventest.controller;

 

@Controller

@RequestMapping("/helloWorld")

public class HelloWorldController {

        @RequestMapping(value = "/hello", method = RequestMethod.GET)

        public String hello(ModelMap model) {

               model.addAttribute("msg", "Hello World!");  // 데이터

               return "helloWorld"; // 리턴되는 jsp 파일명

        }

       

        @RequestMapping(value = "/displayMessage/{msg}", method = RequestMethod.GET)

        public String displayMessage(@PathVariable String msg, ModelMap model) {

               model.addAttribute("msg", msg);  // 데이터

               return "helloWorld";  // 리턴 파일명

        }

 

}


/helloWorld/hello : 내부에서 생성한 메시지 전달

/displayMessage/{메시지} : 외부에서 받은 메시지를 그대로 전달(또는 가공도 할 수 있겠죠?)

.

 

3.3. View 생성


/WEB-INF/ 폴더에 Controller에서 리턴 하는 값을 받을 화면을 helloWorld.jsp로 선언 했으므로 추가를 해 봅니다.  WEB-INF에 마우스 대고 우측 클릭해서 JSP 추가를 합니다.


maven spring mvc project


생성된 파일에 코딩을 추가 합니다.


 <%@ page language="java" contentType="text/html; charset=EUC-KR"

    pageEncoding="EUC-KR"%>

<!DOCTYPE html>

<html>

<head>

<meta charset="EUC-KR">

<title>Insert title here</title>

</head>

<body>

        <h1>Spring 4.0.2 MVC web service Test</h1>

       

        <h3>Return Message : ${msg}</h3>

 

</body>

</html>


controller 파일 addAttribute()에서 msg 넘겨주므로 받아서 보여 주는 jsp 입니다.

 

코딩도 끝입니다.

 

 

4. Configure


위에서 작성한 코드를 Spring MVC로 설정해 보겠습니다.  전에 설명한 Plug-in 방식으로 Spring을 추가하면 기본적으로 설정이 되어 있습다.

 

4.1 web.xml


파일 위치는

/mavenexample/src/main/webapp/WEB-INF/web.xml

servlet 파일의 위치와 파일명을 정의 합니다.

*-servlet.xml을 사용하기 위하여 dispatcher를 추가 합니다.


 <web-app>

  <display-name>Archetype Created Web Application</display-name>

 

  <servlet>

               <servlet-name>data-dispatcher</servlet-name>

               <servlet-class>

                       org.springframework.web.servlet.DispatcherServlet

        </servlet-class>

               <load-on-startup>1</load-on-startup>

        </servlet>

 

        <servlet-mapping>

               <servlet-name>data-dispatcher</servlet-name>

               <url-pattern>/</url-pattern>

        </servlet-mapping>

 

</web-app>


servlet-namedata-dispatcher라고 했으니 파일명은 data-dispatcher-servlet.xml가 되고 위치는 ‘/’로 했으니 web.xml과 동일한 위치로 /mavenexample/src/main/webapp/WEB-INF/ 여기에 생성합니다.

 

4.2 data-dispatcher-servlet.xml

 

data-dispatcher-servlet.xml 파일을 신규 생성 합니다. 주의할 점은 생성된 package명으로 기입해야 하는데 Spring에서 annotation을 사용하기 위해 component-scan을 등록하는 것으로 base-package를 입력 하면 그 하위 소스 코드를 Spring container가 실행 될 떄 정보를 읽어 옵니다.

<context:component-scan base-package="com.test.maventest" />


 <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-3.0.xsd

        http://www.springframework.org/schema/context

        http://www.springframework.org/schema/context/spring-context-3.0.xsd

        http://www.springframework.org/schema/mvc

        http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">

 

<context:component-scan base-package="com.test.maventest" />

 

        <bean

               class="org.springframework.web.servlet.view.InternalResourceViewResolver">

               <property name="prefix">

                       <value>/WEB-INF/</value>

               </property>

               <property name="suffix">

                       <value>.jsp</value>

               </property>

        </bean>

 

</beans>


파일을 생성한 위치는 아래와 같습니다.


maven spring mvc project



5. application 실행

 

5.1 Maven Update


pom.xml 파일을 수정했으니 반영을 위해 프로젝트에 마우스를 대고 우측 클릭

Maven > Update Project

을 선택하고


maven spring mvc project


update 할 프로젝트를 선택 합니다여기서는 하나만 생성 했으므로 하나만 나옵니다.


maven spring mvc project


update 하려는 프로젝트를 선택 하고 OK 버튼을 클릭 합니다.

 


5.2 Maven Build

 

maven build를 진행 합니다.

프로젝트에 마우스 우측 클릭 > Run As > Maven build


maven spring mvc project


그러면 build의 목표를 입력하는 창이 나타납니다.


maven spring mvc project


Goal에는 compile, test, deploy등이 있고 여기서는 package를 입력 하고 Run 버튼을 클릭 해서 war 파일을 생성 하려고 합니다.


maven spring mvc project


빌드에 성공 했습니다.

 

5.3 Was 실행

 

이제 프로젝트를 WAS에서 기동해 보겠습니다.

프로젝트에 마우스 우측 클릭 > Run As -> Run On Server

잠시 후 브라우저에 Hello World!가 나타 나는데


maven spring mvc project


이건 index.jsp 파일이고 우리가 생성한 MVC를 테스트 해 봅니다.


http://localhost:8080/mavenexample/helloWorld/hello 를 입력 합니다.


maven spring mvc project


입력한 데이터를 리턴 받는 테스트 입니다.

http://localhost:8080/mavenexample/helloWorld/displayMessage/Maven Test 오래 걸리네


maven spring mvc project


보낸 문자를 다시 받는 것도 잘 되는 군요.


'Java' 카테고리의 다른 글

axboot framework 설치  (2) 2019.05.29
Spring Tools 설치 Spring Boot (STS 4.4.2.1)  (4) 2019.05.28
maven 설치 및 eclipse 연동  (17) 2019.04.30
Eclipse Apache spring (plug-in) 설치  (0) 2019.04.15
eclipse java apache-tomcat 설치 (Windows)  (2) 2019.04.13


1. Eclipse Apache-Tomcat 설치

 

eclipseapache-tomcat Spring Framework를 이용해 개발을 하기 위한 가장 기본 작업 입니다.가능하면 하나의 세트로 만들어 압축하고 보관해 두었다가 다른 작업을 테스트할 때 가져다 사용하면 좋습니다. 설치 방법은 전에 올린 내용을 참고 하면 됩니다.


eclipse java apache-tomcat 설치 (Windows)



2. Spring plug-in 설치

 

eclipse에서 plug-in으로 spring을 설치 하려면 marketplace에 가야 합니다메뉴 위치는

Help > Eclipse Marketplace

에 있습니다.


eclipse_spring_plugin


Marketplace 팝업 창에서 spring 또는 sts를 입력하여 검색을 합니다.


eclipse_spring_plugin


Spring Tools 3Spring Tools 4가 있습니다.  둘 중 목적에 맞게 선택하고 Install 버튼을 클릭 합니다. 버전 별로 설치 내용에 차이가 있으니 확인해 봅니다.

 

- Spring Tools 3 선택한 경우


eclipse_spring_plugin


- Spring Tools 4 선택한 경우


eclipse_spring_plugin


Spring Tools 3을 선택하고 진행 합니다.


eclipse_spring_plugin


필요한 파일에 대해 설치를 하기 전에 라이센스에 대해 확인을 요청 합니다.


eclipse_spring_plugin


라이센스를 확인하고 Finish 버튼을 클릭 합니다.

 

설치가 진행되고 나면 반영을 하기 위해 재 시작을 하게 됩니다.


eclipse_spring_plugin


재 시작을 하고 eclipsespring dashboard가 보이면 잘 설치가 된 것 입니다.


eclipse_spring_plugin



3. MVC 프로젝트 생성

 

프로젝트를 하나 생성해서 테스트 해보도록 합니다상단 메뉴에서 팝업 메뉴를 따라 갑니다.

File > New > Other


eclipse_spring_plugin


Spring 폴더를 확장 해서 Spring Legacy Project를 선택 하고 Next 버튼을 클릭 합니다.


eclipse_spring_plugin


Project name을 대충 입력 하고 Spring MVC Project를 선택 한 후 Next 버튼을 클릭 합니다.


eclipse_spring_plugin


파일을 추가로 다운로드 받아야 한다는 군요.  package 명은 편한 대로 프로젝트에 적합한 단어를 찾아 입력 합니다.


eclipse_spring_plugin


Finish 버튼을 클릭하고 잠시 기다림을 갖습니다.


eclipse_spring_plugin


프로젝트가 생성 되었습니다.  어떤 파일이 있는지 폴더를 펼쳐 보았습니다프로젝트를 생성하면 기본적인 파일이 같이 생성이 되어 있습니다어떤 내용인지 프로젝트를 실행해 봅니다.


eclipse_spring_plugin


프로젝트 명에 마우스를 대고 우측 버튼을 눌러 Run As를 찾아서 다시 Run on Server를 클릭 해 줍니다.


eclipse_spring_plugin


설치된 WAS(여기서는 Tomcat)을 선택 해주고 Next 버튼을 클릭 합니다.


eclipse_spring_plugin


우측에 지금 테스트 하려는 MvcTest만 남기고 Finish 버튼을 클릭 합니다.


eclipse_spring_plugin


결과가 나왔습니다이게 기본으로 들어 있는 프로그램 이군요.



12345

+ Recent posts