이번에는 아파치 톰캣 서버를 이클립스와 연동해 봅시다.

 

 

이클립스가 설치된 폴더에서 더블 클릭해서 이클립스를 실행합니다.

 

 이클립스 메뉴바에서 Window > Preference 메뉴를 선택합니다.

 

 Server > Runtime Enviroment > Add 버튼을 클릭합니다.

 

 사용자 컴퓨터에 설치된 아파치 톰캣 버전을 확인한 후 선택합니다.

Next 버튼 클릭.

 

 Browse 버튼을 클릭합니다.

 

아파치 톰캣이 설치된 폴더를 선택한 후, 확인 버튼을 클릭합니다.

 

 아파치 톰캣이 설치된 경로를 확인한 후, Finish 버튼을 클릭합니다.

 

 아파치 톰캣이 Server runtime enviroments에 추가된 것을 확인할 수 있습니다.

OK 버튼 클릭.

 

이클립스 메뉴바에서 File > New > Other 를 클릭합니다.

 

 Server 항목에서 Server를 선택한 후, Next 를 클릭합니다.

 

 설치된 아파치 톰캣 버전을 확인한 후, Server's host name 란에는 Default 로 localhost 또는 서비스할 IP Address를 입력해 줍니다.

Next 버튼 클릭.

 

톰캣 서버로 사용 가능한 프로젝트가 Available 영역에 노출됩니다.

사용할 프로젝트를 선택한 후 Add 버튼을 클릭 합니다.

 

추가된 프로젝트가 Configured 영역에 노출됩니다. 확인 후 Finish 버튼 클릭.

 

그러면 아파치 톰캣 서버로 실행될 이클립스 프로젝트 셋팅이 완료 됩니다.^^

 

저작자 표시 비영리 변경 금지


'개발 > 환경설정' 카테고리의 다른 글

아파치 톰캣 Eclipse 연동방법  (0) 2014.03.17
tomcat Server.xml 설정시  (0) 2013.10.02
Tomcat + Spring Framework + myBatis셋팅  (0) 2013.09.12
Spring + Mybatis 환경설정  (0) 2013.09.04

톰캣으로 실행할 프로젝트의 이름을 바꾼 경우

tomcat의 server.xml 거의 최하단에 아래와 같이 설정되어있나 확인해야 한다.


<Context docBase="실제 프로젝트 폴더명" path="" reloadable="true" source="org.eclipse.jst.j2ee.server:실제 소스가 있는 위치의 이름"/></Host>


 docBase는 수정된 프로젝트 폴더명과 일치해야 하고


source="org.eclipse.jst.j2ee.server:실제 소스가 있는 위치의 이름" 여기도 틀리면 안됨.

'개발 > 환경설정' 카테고리의 다른 글

아파치 톰캣 Eclipse 연동방법  (0) 2014.03.17
tomcat Server.xml 설정시  (0) 2013.10.02
Tomcat + Spring Framework + myBatis셋팅  (0) 2013.09.12
Spring + Mybatis 환경설정  (0) 2013.09.04

출처: 밥팅우기's Log

기존 본문에 추가 작성은 이 색깔로 표시했음.


Tomcat + Spring Framework + iBatis(myBatis) 를 설치해야할 일이 생겨 하는 김에 여기에 정리해놓고자 한다.

 

1. 톰캣 다운로드

http://tomcat.apache.org/download-70.cgi 에서 Core zip 버전을 받으면 된다. (Linux경우 tar.gz)

ex) http://mirror.apache-kr.org/tomcat/tomcat-7/v7.0.33/bin/apache-tomcat-7.0.33.zip

다운로드 후 압축 해제하면 설치는 끝.

편의상 압축 푼 후 해당 tomcat 디렉토리를 c:\tomcat7 로 이동시켜주겠다.

 

2. Project 생성

IDE는 이클립스를 사용한다.

여기서는 Dynamic Web Project를 생성해서 사용하겠다.

 

 

 

 

이후엔 Project Name 만 설정하고 맨 마지막까지 Next한 후 마지막 창에서 web.xml 을 생성한다는 체크박스에 체크하고 Finish해준다.

 요새는 Spring 이용시에는 Spring Template Project를 이용하고 더 편리하지만 부득이하게 Dynamic web Project로 해야 하는 경우 이 포스팅이 더욱 유용하다.

 

위와 같이 프로젝트가 생성이 되었으면 성공이다.

 

3. Spring Framework lib 다운로드.

Maven을 사용하면 편하지만 원시적(?)으로 직접가서 lib를 다운로드 하겠다.

http://www.springsource.org/download/community 에 접속하면 zip파일이 있으니 다운로드 하면 된다.

(자신의 jdk버전에 맞는 가장 최신버전)

 

 

다운로드 후 압축해제.

아래와 같이 파일 list가 보인다.

우리가 사용할 곳은 libs 디렉토리이다.

 

libs안의 jar파일을 모두 다 사용하는 건 아니고 필요한 jar파일들만 사용하면 된다.

기본적인 beans, core, jdbc, context, context-support, expression, aop, tx와 spring mvc를 사용할것이므로 web, webmvc도 이클립스의 WEB-INF/lib로 드래그 하여 복사해 준다. 

 

4. Server 생성 (Eclipse)

아래의 과정은 Eclipse내에서 개발하고 바로 Tomcat을 실행시켜 브라우저에서 확인이 가능하고 디버깅도 가능하게 하는 작업이다.

 

 

 

 

OK를 누르면 Eclipse내에 Server라는 탭이 하나 생성이 될 것이다.

 

 

Tomcat v7.0 선택 (좀 전에 Tomcat download 한 버전에 맞게 선택하면 된다.)
7.0은 약간의 버그가 있어서 6.0이 더 안정적이라고 한다..

Next 하면 아래 창이 뜬다.

 

Tomcat installation directory : 에서 Browse..를 클릭하여 좀전에 download한 Tomcat디렉토리를 선택해 주고 Next.

 

 

지금 만들고 있는 서버와 매칭시킬 프로젝트를 선택하면 된다.

프로젝트를 Add하고 Finish하면 끝.

 

 

생성완료.

위 Tomcat v7.0 Server at localhost 를 더블클릭하면 아래와 같은 창이 나온다.

맨 아래의 Module 탭을 선택하자.

 

 

선택한 후 Edit 버튼을 클릭하면 아래 창이 뜬다.

 

Path를 /로 수정하고 OK를 클릭한다.

 

위 Tomcat v7.0 Server at localhost 에 마우스 우클릭해서 Start나 Debug를 선택해주자.

 

상태가 Debugging으로 변한 걸 확인 할 수 있다.

 

브라우저로 확인해보자.

http://localhost:8080/ (톰캣이 기본포트가 8080인데 설정을 변경했다면 해당 포트로 접속해보면 된다.)

 

 

페이지를 찾을 수 없다는 에러 페이지인데.. 이 에러는 Tomcat에서 내보내는 에러 페이지이니 톰캣은 정상적으로 구동된 걸 확인 할 수 있다.

 

Eclipse에서 개발하고 바로 Eclipse내에서 이렇게 Server를 구동해서 확인 및 디버깅을 할 수 있다.

 

5. Spring Framework에 의존된 library들 다운받기

- jakarta taglibs standard (Spring mvc에서 사용하는 lib)

http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/ 에서 zip 파일 다운로드 후 압축해제 하면 lib 디렉토리 안에 jstl.jar, standard.jar 파일 있음.

두 파일을 WEB-INF/lib 안으로 드래그 하여 복사해줌.

 

- apache common logging (Spring core에서 사용하는 lib)

http://commons.apache.org/logging/download_logging.cgi 에서 binaries zip 파일 다운로드 후 압축해제하면 디렉토리 안에 commons-logging-x.x.x.jar 파일 있음.

이 파일도 WEB-INF/lib 안으로 드래그 하여 복사해줌.

 

- codehaus jackson (Spring mvc에서 json변환시 사용하는 lib)

http://wiki.fasterxml.com/JacksonDownload 에서 1.x 버전을 받아야 함.

받아서 WEB-INF/lib 안으로 드래그 하여 복사해줌.

 

6. spring mvc 설정

- web.xml

...

<!-- Spring Config Setting : bean 설정하는 xml 파일 위치 지정 --> 
 <context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>
    /WEB-INF/config/*-context.xml
  </param-value>
 </context-param>
<!-- Spring Config Setting -->
     
 <!-- listener Register : Spring Framework이 로딩되게 listener를 설정함 -->
 <listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
 </listener>
 <!-- listener Register -->
     
<!-- Spring-MVC Config Setting : Spring MVC 관련 설정 -->
 <servlet>
  <servlet-name>action</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  <init-param>
   <param-name>contextConfigLocation</param-name>
   <param-value>
    /WEB-INF/config/spring-servlet.xml
   </param-value>
  </init-param>
  <load-on-startup>1</load-on-startup>
 </servlet>
 
 <servlet-mapping>
  <servlet-name>action</servlet-name>
  <url-pattern>/*</url-pattern>
 </servlet-mapping>
 <!-- Spring-MVC Config Setting -->

...

 

- WEB-INF/config/application-context.xml

...

// 컨트롤러가 리턴하는 객체를 JSON포맷의 메시지로 변환하게 하는 Converter 설정. 

<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
 <property name="messageConverters">
  <list>
   <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" />
  </list>
 </property>
</bean>

...

 

- spring-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"
 xmlns:p="http://www.springframework.org/schema/p"
 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-3.1.xsd">

 <!-- component scan -->
 <context:component-scan base-package="trust.controller" use-default-filters="false">
  <context:include-filter type="annotation"
   expression="org.springframework.stereotype.Controller" />
 </context:component-scan>
 <!-- component scan -->
</beans>

 

- TestController

package trust.controller;

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

@Controller
public class TestController {
 @RequestMapping(value="/test") <- URL이 /test일 경우 실행하게 함.
 @ResponseBody <- 해당 메소드가 리턴하는 객체를 JSON포맷의 메시지로 변환하게 하는 Annotation
 public String testView() {
  return "aa";
 }
}

 

결과

 

 

7. iBatis(MyBatis) 연동 - 이것 때문에 낚여서 이 포스팅 안 볼 뻔 ㅋㅋㅋ

MyBatis 로 이름이 바꼈다.

http://blog.mybatis.org/

http://code.google.com/p/mybatis/downloads/detail?name=mybatis-spring-1.1.2-SNAPSHOT-bundle.zip&can=1&q= 에서 lib 다운로드

(mybatis-spring-1.1.2-SNAPSHOT.zip)

 현재 mybatis-spring-1.2.-SNAPSHOT은 전체 jar가 아닌듯 하다. 상대적으로 용량이 매우 적으니 1.2.0이하 버전을 받는게 좋음

zip 파일 압축해제하면 aopalliance-1.0.jar, mybatis-3.1.1.jar, mybatis-spring-1.1.2-SNAPSHOT.jar 가 있다.

이 파일들을 WEB-INF/lib 안에 드래그 해서 넣어준다.

 

mysql을 사용할 것이므로 Connector도 받아야 한다.

http://www.mysql.com/products/connector/ 에서 JDBC용 커넥터를 다운받아 WEB-INF/lib 안에 넣어준다.

(mysql-connector-java-5.1.22-bin.jar)

 

- WEB-INF/config/mybatis-context.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.xsd
  http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd">

 <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
  <property name="locations">
   <value>/WEB-INF/config/mybatis.properties</value>
  </property>
 </bean>
 
 <bean id="dataSource" class="org.springframework.jdbc.datasource.SimpleDriverDataSource">
  <property name="driverClass" value="${jdbc.driverClass}"/>
  <property name="url" value="${jdbc.url}"/>
  <property name="username" value="${jdbc.username}"/>
  <property name="password" value="${jdbc.password}"/>
 </bean>
 
 <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
  <property name="dataSource" ref="dataSource" />
  <property name="configLocation" value="/WEB-INF/config/mybatis-config.xml"/>
 </bean>
 
 <bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
  <constructor-arg ref="sqlSessionFactory"/>
 </bean>
</beans>

 

- WEB-INF/config/mybatis.properties

jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/DB명?autoReconnect=true
jdbc.username=사용자계정
jdbc.password=비밀번호

 

- WEB-INF/config/mybatis.config

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "HTTP://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>
 <settings>
  <setting name="cacheEnabled" value="false" />
  <setting name="useGeneratedKeys" value="true" />
  <setting name="defaultExecutorType" value="REUSE" />
 </settings>
 
 <mappers>
  <mapper resource="../sqlMap/sqlMapper.xml" />
 </mappers>
</configuration>

 

- WEB-INF/sqlMap/sqlMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="네임스페이스"> 
    <select id="쿼리id" parameterType="int"
        resultType="int">
        select count(*) from 테이블명
    </select>
</mapper>

sqlMapper 작성 방법 : http://www.mybatis.org/core/sqlmap-xml.html 

 

WEB-INF/config/mybatis-context.xml 파일은 Spring이 로딩되면서 자동으로 읽게끔 설정을 web.xml에 해뒀으니 로딩이 될 것이다.

 

8. DAO 작성

import java.util.List;

import org.mybatis.spring.support.SqlSessionDaoSupport;

 

public class UserGameLogDAO extends SqlSessionDaoSupport {
 public List selectLogList() {
  return getSqlSession().selectList("네임스페이스.쿼리id");
 }
}

 

- application-context.xml - 이 부분은 필수는 아닌듯 함. 없어도 구동은 되는데 넣었을 때 어떤 효과가 있는지는 모름..

...

<bean class="UserGameLogDAO" name="userGameLogDAO">
 <property name="sqlSessionTemplate" ref="sqlSessionTemplate" />
</bean>

...

 

DAO를 호출하면 DB를 정상적으로 조회해 오는 걸 볼 수 있을 것이다.

저작자 표시


'개발 > 환경설정' 카테고리의 다른 글

아파치 톰캣 Eclipse 연동방법  (0) 2014.03.17
tomcat Server.xml 설정시  (0) 2013.10.02
Tomcat + Spring Framework + myBatis셋팅  (0) 2013.09.12
Spring + Mybatis 환경설정  (0) 2013.09.04

제목: Spring + Mybatis + Restful 환경구축 (1): Jood Blog

날짜: 13-9-4

내용: 

평가: 이걸로 하는게

출처: http://ktjood.blogspot.kr/2013/04/spring-mybatis-restful-1.html


제목: Spring+iBatis+Maven 셋팅 및 연동

날짜: 13-9-4

내용: Spring + iBatis + Eclipse 환경구축 및 iBatis 연동 설명

평가: 내용은 좋은데 ibatis임..

출처: http://jqdom.com/archives/23


제목: 6. Spring Framework 시작하기 (Hello World의 단계적 변화)

날짜: 13-9-4

내용: 

평가: 미묘하게 안 맞음?

출처: http://www.gliderwiki.org/wiki/106


웹프로젝트 템플릿

A new Spring MVC web application development project

http://dist.springsource.com/release/STS/help/org.springframework.templates.mvc-3.1.2.zip

'개발 > 환경설정' 카테고리의 다른 글

아파치 톰캣 Eclipse 연동방법  (0) 2014.03.17
tomcat Server.xml 설정시  (0) 2013.10.02
Tomcat + Spring Framework + myBatis셋팅  (0) 2013.09.12
Spring + Mybatis 환경설정  (0) 2013.09.04

+ Recent posts