이제 두번째 입니다


[2. 스프링을 사용해서 프로젝트 구성]


일단 스프링으로 웹페이지가 잘 돌아가도록 구성을 해놓고 시작을 해야겠죠


ㅇ Dynamic Web Project 생성



ㅇ JAR 파일 복사

준비한 JAR 파일들을 WebContent -> WEB-INF -> lib 폴더로 다 넣구요




ㅇ Folder 생성

스프링 설정을 저장할 [res] 폴더와 View 페이지 파일이 들어갈 [views] 폴더를 생성해줍니다


[res]를 Source Folder 로 만드는 이유는 컴파일할때 WEB-INF/classes 밑으로 저장하도록 하기 위해서입니다

그래야 스프링 설정파일의 위치를 정의하는 곳에 classpath: 이런 구문을 사용할 수 있습니다


ㅇ web.xml 설정

web.xml의 선언부는 사용하는 톰캣 버전에 따라서 약간 모습이 달라질수 있습니다

저는 6.0을 기준으로 작성했습니다

<?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_2_5.xsd" 

         id="WebApp_ID" 

         version="2.5">

         

  <display-name>Vertx</display-name>

  <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>/*</url-pattern>

</filter-mapping>


        <!-- 서블릿 설정 -->

<servlet>

<servlet-name>Vertx</servlet-name>

<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

<init-param>

<param-name>contextConfigLocation</param-name>

<param-value>classpath:vertx-servlet.xml</param-value>

</init-param>

</servlet>

<servlet-mapping>

<servlet-name>Vertx</servlet-name>

<url-pattern>*.do</url-pattern>

</servlet-mapping>


<!-- log4J -->

<context-param>

<param-name>log4jConfigLocation</param-name>

<param-value>classpath:log4j.xml</param-value>

</context-param>


<listener>

<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>

</listener>


</web-app>


web.xml


ㅇ 서블릿 설정 파일 vertx-servlet.xml

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

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

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


        <!-- com.spring.vertx 를 포함한 모든 하위 패키지의 기본 애노테이션 적용 클래스 자동 스캔 -->

<context:component-scan base-package="com.spring.vertx" />

        <!-- JSP를 View 페이지로 쓰기 위해서 Internal View Resolver 선언 -->

<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">

<property name="prefix" value="/WEB-INF/views/" />

<property name="suffix" value=".jsp" />

</bean>


<!-- vert x 적용 파일 -->

        <!--

<bean id="vertxSample" class="com.spring.vertx.controller.VertxSample" />

         -->

</beans>




vertx-servlet.xml


웹페이지가 잘 뜨는지 확인할때는 

아직 VertxSample 클래스를 작성하지 않아서 오류가 나기 때문에 일단 주석으로 처리해놓구요

나중에 주석을 풀어 주시면 됩니다

이 파일은 [res] 에 넣어줘야 합니다 (Source Folder)


ㅇ log4j 설정 파일


log4j.dtd


log4j.xml


이 log4j 설정파일들은 그냥 [res] 로 넣으면 됩니다



ㅇ JSP View 파일 생성

이클립스에서 JSP 파일 생성하면 기본 구문들은 자동으로 입력을 시켜 줍니다

[main.jsp] & [main2.jsp]

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>


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


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>Insert title here</title>

</head>

<body>

<h1>Main</h1>

</body>

</html>

대충 페이지가 돌아간다는 것만 확인할 수 있도록 아무 글자나 찍도록 해놓구요

main.jsp / main2.jsp 파일 두개를 생성해줍니다

서로 다른 페이지에서 채팅 기능이 잘 되는지 확인하기 위해서 입니다


ㅇ Controller 클래스 

아까 자동 스캔을 지정한 com.spring.vertx 를 기본 패키지로 만들구요

controller 패키지를 추가해서 MainController.java 를 만들어 줍니다


[MainController.java]

package com.spring.vertx.controller;


import java.util.Map;


import org.springframework.stereotype.Controller;

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

import org.springframework.web.servlet.ModelAndView;


@Controller

public class MainController {


@RequestMapping("main.do")

public ModelAndView main(Map<String, Object> map) {

ModelAndView mav = new ModelAndView();

mav.setViewName("main");

return mav;

}


@RequestMapping("main2.do")

public ModelAndView main2(Map<String, Object> map) {

ModelAndView mav = new ModelAndView();

mav.setViewName("main2");

return mav;

}


}


MainController.java



프로젝트 설정은 끝났습니다


이제 톰캣에 프로젝트를 등록하고 확인해보면 됩니다




다음 장에서는 위 스프링 프로젝트에 Vert.x 적용 클래스를 만들어서 포함시켜 보도록 하겠습니다

Posted by 꼬렙
: