출처 : http://noritersand.tistory.com/72


■ HttpServletRequest, HttpServletResponse 등 javax.servlet 패키지를 임포트할 수 없는 경우..

 아래에 기술한 서블릿 라이브러리 파일을 추가하는 방법 이전에, 프로젝트에 톰캣의 라이브러리가 추가되어있는지 확인해야한다. 

톰캣은 서블릿 외에도 여러 라이브러리를 제공하기 때문에 서블릿.jar만 추가해서는 다른 문제가 발생할 수도 있다.

[project] - RMB - [build path] - [library] - [add Library] - server runtime - Apache Tomcat X.X



 서블릿 라이브러리(javax.servlet / javax.servlet.http.*)

servlet-api.jar

servlet-api.jar 혹은 servlet.jar 는 톰캣 설치경로의 lib 폴더 안에 존재한다.


서블릿 패키지를 사용하기 위해서는 

1. 윈도우 환경변수 설정에서 클래스패스에 해당 파일을 추가하거나

2. 이클립스 워크스페이스/WebContent/WEB-INF/lib 폴더에 복사한다.

3. 혹은, 프로젝트 → Properties → Java Build Path → Libraries 에서 추가하는 방법이 있다.

  (이클립스에서 빌드패스를 추가했을 경우 실제경로에 해당 파일이 삭제되면 빌드패스에서도 같이 사라지게 되니 주의)



 이클립스가  아닌  에디터  플러스 등을  이용하여  서블릿을  개발하기  위해서는  J2EE  클래스  파일인 

servlet-api.jar 파일이 필요하며 이 파일은  "톰켓_루트\lib" 경로에 제공하므로  J2EE를 설치하지 않아

도 된다. 단. 환경 변수인  classpass 에 추가해 주어야 한다.


  톰켓이 『C:\apache-tomcat-7.0.20』 경로에 설치 된 경우


1) 윈도우즈의  [시작] →  [제어판] →  [시스템] →  [고급 탭] →  [환경변수]를 클릭 한다.

     (또는 내 컴퓨터 → 속성(윈도우 키+Pause) → 고급 탭 → 환경변수)


2) classpath 시스템 변수 선택  -  [편집]를 눌러 다음과 같이 수정 한다.

   ⋅변수 이름  :  classpath

   ⋅변수 값  :  .;C:\apache-tomcat-7.0.xx\lib\servlet-api.jar;


   "JDK_루트\jre\lib\ext"  경로에  라이브러리를  복사하면  classpath  에  추가하지  않아도  

  자바를  컴파일 할 때 자동 인식된다.



 오라클-자바 연동 라이브러리

ojdbc.jar

oracle.com

 - Downloads - Technology - Network - Database - Database - Features - JDBC


오라클이 설치된 경우

설치경로\app\oracle\product\xx.xx.xx\server\jdbc\lib //설치경로는 다를 수 있다.


  자바에서 오라클  DBMS를 사용하기 위해서는  ojdbc 패키지 파일이 필요하므로 오라클이 설치

가  되지  않은  경우  오라클사에서  ojdbcXX.jar  파일을  다운로드하여야  하며,  시스템의  classpath에 

ojdbcXX.jar 추가하거나  "자바  JDK 설치 폴더\jre\lib\ext" 폴더에 복사하여야 한다.


※  classpath 추가방법

1) 윈도우즈의  [시작] →  [제어판] →  [시스템] →  [고급 탭] →  [환경변수]를 클릭 한다.

     (또는 내 컴퓨터 → 속성(윈도우 키+Pause) → 고급 탭 → 환경변수)

2)  classpath 시스템 변수 추가  -  [새로 만들기]를 눌러 생성한다.

   ojdbc14.jar 파일이 C:\oracle\product\10.2.0\db_1\jdbc\lib 경로에 존재하는 경우

   ⋅변수 이름  :  classpath

   ⋅변수 값  :   .;C:\oracle\product\10.2.0\db_1\jdbc\lib\ojdbc14.jar;


  웹 서버에서 실질적으로 Oracle용  JDBC 드라이버 찾는 경로는 

 "톰캣_루트\lib" 이므로  ojdbc14.jar 파일을  "톰캣_루트\lib" 경로에 복사한다.

 개발 과정에서는  classpath에  Oracle용  JDBC 드라이버가 설치된 경로를  classpath에 추가하여 작

 업하지만 웹 서버에서 Oracle용  JDBC 드라이버가 설치된 경로를  classpath 에 추가하지 않으면 오라

 클을  사용할  수  없다.  따라서  JSP나  서블릿은  기본적으로  "톰캣_루트\lib"에서  해당  패키지를  

 검사하므로  "톰캣_루트\lib"에 복사하면 웹 서버에서 오라클을 접근 할 수 있다.



 서블릿 멀티파트(업로드) 라이브러리

cos.jar

com.oreilly.servlet.MultipartRequest

http://servlets.com/cos/


commons-fileupload (FileUploadServlet, MultipartStream 등)

http://commons.apache.org/fileupload/


commons-io (Apache  Commons  IOsms 라이브러리)

http://commons.apache.org/io/

http://commons.apache.org/downloads/download_io.cgi



 jstl 라이브러리

jstl-x.x.jar

 환경 설정

   -  1.2 버전은  tomcat  6.0 부터 사용가능하다.

      1.2 버전은  jstl-1.2.jar(또는  jstl-api-1.2.jar,  jstl-impl-1.2.jar) 파일이 필요하다.

    링크 - http://download.java.net/maven/1/jstl/jars/


   -  1.1 버전은  tomcat  5.5 부터 사용가능하다.

     1.1 버전은  jstl.jar,  standard.jar 두 개의  jar 파일이 필요하다.

http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/


    사이트 다운로드 목록 중에서

    "Taglibs"  -  "Standard  1.1  Taglib"  -  1.1.2.zip 파일을 다운로드 받는다.

    jar 파일을  "WEB-INF\lib" 폴더에 복사 한다.


http://tomcat.apache.org/taglibs/standard/

http://java.sun.com/products/jsp/jstl/1.1/docs/tlddocs/index.html



 JSON 패키지(JSONArray, JSONObject)

json-lib-x.x-jdkxx.jar

1. json-simple-x.x.x.jar

 json-simple-1.1.1.jar

https://code.google.com/p/json-simple/


2. json-lib-xxx.jar

http://json.org/

http://json-lib.sourceforge.net/


※ 추가 라이브러리가 필요하니 주의할것. 

 의존관계는 아래 페이지에서 확인할 수 있다.

http://json-lib.sourceforge.net/dependencies.html


 jakarta commons-beanutils x.x.x   -- struts 2에 존재

 jakarta commons-logging x.x.x


 jakarta commons-lang x.x.x

 jakarta commons-collections x.x.x

 ezmorph x.x.x



 jQuery

jQuery*.js



 자바메일

 mail.jar / activation.jar

JavaMail 라이브러리 다운로드(mail.jar)

http://java.sun.com/products/javamail/downloads/index.html


JAF 라이브러리 다운로드(activation.jar)

http://java.sun.com/products/archive/javabeans/jaf102.html



 웹서버 주요라이브러리

http//:apache.org



 파일 관련 라이브러리

commons-fileupload-1.x.x2.jar

commons-io-2.x.jar



 타일즈

tiles-api-2.x.jar, tiles-core-2.x.jar, tiles-jsp-2.x.jar

commons-beanutils-1.8.3.jar, commons-digester-2.0.jar

tiles-servlet-2.2.2.jar, tiles-template-2.2.2.jar

http://www.slf4j.org/


타일즈 2.2는 org.slf4j.LoggerFactory 에 의존관계가 있다.

slf4j-log4j12-1.5.8.jar, slf4j-api-1.6.2.jar



 DBCP (mybatis를 사용하는 경우 필요)

commons-dbcp-1.x.jar

commons-pool-1.x.x.jar



 log4j



■ 스프링 프레임워크

배포사이트 - https://github.com/spring-projects/spring-framework/releases

 - spring-framework-3.1.x.RELEASE.zip

    스프링 프레임워크 모듈이 포함되어 있다. 관련문서는 포함되어 있지 않다.

 - spring-framework-3.1.x.RELEASE-with-docs.zip

    스프링 프레임워크의 모듈(jar 파일), 소스 코드, 레퍼런스 문서, API 문서가 포함되어 있다.

 - spring-framework-3.0.2.RELEASE-dependencies.zip

    스프링 프레임워크에서 사용하는 의존 jar 파일 목록이 포함되어 있다.



● 스프링 모듈 구성

aop : AOP Alliance에 호환되는 AOP 구현을 제공

aspects : AspectJ와의 통합을 제공

asm : ASM 라이브러리를 재패키징 한 모듈(asm은 자바 바이트코드 조작에 사용되는 라이브러리)

beans : BeanFactory 인터페이스를 통해 구현

context : core, beans 모듈을 확장 국제화 이벤트, 리소스 로딩, 서블릿 컨테이너를 위한 컨텍스트 생성등의 기능을 추가로 제공. ApplicationContext 인터페이스를 통해 구현

context.support : Ehcache, 메일 스케쥴링, UI의 Velocity 지원 기능을 제공 

core : DI 기능을 비롯한 프레임워크의 기반 제공

expression : 객체에 접근, 조작하기 위한 표현언어제공. JSP 2.1 규약에 명시된 통합 EL 확장


web : 파일업로드, Locale 처리등 웹을 위한 통합 기능

web.servlet : 스프링 MVC 제공. JSP, Velocity에 대한 뷰 연동 지원

web.struts : 스프링과 스트러츠 연동

web.portlet : 포틀릿 환경에서 사용되는 MVC 구현을 제공


transaction : AOP를 이용한 선언적 트랜잭션, 코드를 이용한 트랜잭션기능 제공

jdbc : JDBC를 위한 추상 레이어 제공

orm : 하이버네이트, JPA, mybatis, jdo 등 orm api를 위한 통합 레이어 제공. 스프링의 트랜잭션 관리와의 연동 지원


oxm : 객체와 xml 사이의 매핑을 처리하기 위한 추상 레이어를 제공

jms : jms의 메시지를 생성하고 수신하는 기능을 제공

test : JUnit이나 TestNG를 이용한 스프링 컴포넌트의 테스트 지원



● 스프링 컨테테이너를 사용하기 위한 기본적인 라이브러리

1) 스프링 라이브러리

 - 기본 모듈 : spring-framework-3.1.x.RELEASE.zip 에 존재

 org.springframework.asm-3.1.x.RELEASE.jar

 org.springframework.core-3.1.x.RELEASE.jar

 org.springframework.beans-3.1.x.RELEASE.jar


 org.springframework.context-3.1.x.RELEASE.jar

 org.springframework.expression-3.1.x.RELEASE.jar

              

2) 로깅 라이브러리 : 반드시 필요

 commons-logging-1.1.1.jar


● AOP를 위한 라이브러리

1) 스프링 라이브러리

 - 기본 모듈 : spring-framework-3.1.x.RELEASE.zip 에 존재

 org.springframework.asm-3.1.x.RELEASE.jar

 org.springframework.core-3.1.x.RELEASE.jar

 org.springframework.beans-3.1.x.RELEASE.jar


 org.springframework.context-3.1.x.RELEASE.jar

 org.springframework.expression-3.1.x.RELEASE.jar


 org.springframework.aop-3.1.x.RELEASE.jar

 org.springframework.aspects-3.1.x.RELEASE.jar


 - 외부 의존 모듈 : spring-framework-3.0.2.RELEASE-dependencies.zip에 존재

 com.springsource.org.aopalliance-1.0.0.jar : org.aopalliance 폴더

 com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar : org.aspectj 폴더


2) 로깅 라이브러리

 commons-logging-1.1.1.jar(http://apache.org)


● MVC를 위한 추가 라이브러리

org.springframework.web-3.1.x.RELEASE.jar

org.springframework.web.servlet-3.1.x.RELEASE.jar


● JDBC(오라클)를 위한 추가 라이브러리

ojdbc14.jar


● mybatis 3.x를 위한 추가 라이브러리

http://code.google.com/p/mybatis/downloads/list?can=1


mybatis-3.1.1.jar(http://mybatis.org)

mybatis-spring-1.1.1.jar

commons-dbcp-1.x.jar(http://apache.org)

commons-pool-1.x.x.jar(http://apache.org)


org.springframework.jdbc-3.1.x.RELEASE.jar

org.springframework.transaction-3.1.x.RELEASE.jar



● log4j

http://logging.apache.org/log4j/1.2/download.html 


log4j-1.2.16.jar

(스프링 3.x에서는 로그설정을 log4j.properties 대신 log4j.xml 파일을 일반적으로 사용 한다.)


● 파일 업로드를 위한 추가 라이브러리

commons-fileupload-1.x.x2.jar

commons-io-2.x.jar


● 타일즈

tiles-api-2.x.jar, tiles-core-2.x.jar, tiles-jsp-2.x.jar

commons-beanutils-1.8.3.jar, commons-digester-2.0.jar


tiles-servlet-2.2.2.jar, tiles-template-2.2.2.jar


- 타일즈 2.2는 org.slf4j.LoggerFactory 에 의존관계가 있다.

http://www.slf4j.org/

slf4j-log4j12-1.5.8.jar, slf4j-api-1.6.2.jar


- SLF4J

스프링은 기본적으로 JCL(자카르타 커먼스 로깅)을 사용하게 되는데 JCL이 실제 로거를 선택하는 시점이 런타임이라 런타임시 오버헤드가 생길 수 있는데 이것을 개선한구현체 SLF4J를 사용하면 문제를 해결 할 수 있다.


● 메일

org.springframework.context.support-3.1.x.RELEASE.jar


JavaMail 라이브러리 다운로드(mail.jar)

http://java.sun.com/products/javamail/downloads/index.html


- JAF 라이브러리 다운로드(activation.jar)

http://java.sun.com/products/archive/javabeans/jaf102.html


● JSTL


● CGLib

 : 기존의 자바 클래스파일로부터 자바의 소스코드를 동적으로 생성하는 라이브러리이다.


http://sourceforge.net/projects/cglib/


1) lookup-method

메소드를 따로 정의 할 필요 없이 이미 생성되어 있는 다른 클래스의 메소드를 대체한다.


2) 라이브러리

스프링은 lookup-method, @Configuration 어노테이션에서 CGLIB를 이용하므로 CGLib 모듈인 cglib-nodep-2.2.jar 모듈이 있어야 lookup-method 인젝션,  @Configuration 어노테이션 사용이 가능하다.


※ 주의

validation을 위한 라이브러리를 위하여 아래의 라이브러리가 필요하지만 경우에 따라 서버 시작 시 validation 에러가 발생 할 수 있다. 

이럴 경우 하이버네이트등에서 다른 validation 라이블러리를 추가해야 한다.

spring-framework-3.0.2.RELEASE-dependencies.zip에 존재

(@Valid 어노테이션을 사용하여 입력 폼 검증을 할 경우에 필요)

com.springsource.javax.validation-1.0.0.GA.jar : javax.validation 폴더



+ Recent posts