Vert.x + spring 접속자간 웹페이지 대화 기능 구현 [2 / 4]
JSP & Servlet 2014. 2. 26. 11:56 |이제 두번째 입니다
[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>
ㅇ 서블릿 설정 파일 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>
웹페이지가 잘 뜨는지 확인할때는
아직 VertxSample 클래스를 작성하지 않아서 오류가 나기 때문에 일단 주석으로 처리해놓구요
나중에 주석을 풀어 주시면 됩니다
이 파일은 [res] 에 넣어줘야 합니다 (Source Folder)
ㅇ log4j 설정 파일
이 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;
}
}
프로젝트 설정은 끝났습니다
이제 톰캣에 프로젝트를 등록하고 확인해보면 됩니다
다음 장에서는 위 스프링 프로젝트에 Vert.x 적용 클래스를 만들어서 포함시켜 보도록 하겠습니다
'JSP & Servlet' 카테고리의 다른 글
tomcat 이클립스 설정 (0) | 2014.07.25 |
---|---|
Vert.x + spring 접속자간 웹페이지 대화 기능 구현 [4 / 4] (18) | 2014.02.26 |
Vert.x + spring 접속자간 웹페이지 대화 기능 구현 [3 / 4] (0) | 2014.02.26 |
Vert.x + spring 접속자간 웹페이지 대화 기능 구현 [1 / 4] (0) | 2014.02.26 |
JSTL 정리 (0) | 2013.06.20 |