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

+ Recent posts