티스토리 뷰

# 작업 환경

- 톰캣7.0

- jdk1.7.0_25


# 간단한 서블릿 작성하기( 사실은 간단하지 않은.. )

1. 서블릿을 실행하기 위한 환경을 만든다.


- 톰캣폴더\lib 에서 servlet-api.jar 파일 복사


- JDK폴더\jre\lib\ext 폴더에 붙여넣기

위 처럼 servlet-api.jar 파일을 자바 확장 영역에 넣으면 컴파일 할 때 따로 CLASSPATH를 설정해 주지 않아도 된다.

( 톰캣이 연동된 이클립스로 서블릿을 작성하여 컴파일 한다면 위의 작업은 필요 없다 )


2. 서블릿 소스 코드를 저장할 폴더를 생성한다.

- 톰캣\webapps 폴더 안에 temp 폴더를 만들었다.


- WEB-INF 폴더를 만들었다.


- classes, src 폴더를 만들었다.


3. 서블릿 코드(java) 를 작성한다.


4. WEB-INF\src 파일에 java 파일을 넣는다.


5. ServletTest.java를 컴파일 한다. 

- 이클립스에서 컴파일 해도 된다. ( 더 편하다 )

- 이클립스는 가상경로이기 때문에 절대 경로에 가서 컴파일 된 클래스 파일을 가져와야 한다.

- CMD 창을 실행 시킨 후 src 경로로 이동한다

- javac -d [클래스 파일이 생성 될 경로] [컴파일 할 자바파일] 명령어를 이용해 컴파일 한다.


6. 톰캣 서버 실행


- 서버가 이미 실행 되어 있다면 재시작을 해주어야 된다.

- 서버 시작 : startup.bat

- 서버 종료 : shutdown.bat



주의 할 점!!

- startup.bat을 더블 클릭 하면 cmd 창이 열렸다 닫히는데, 톰캣 서버가 시작된 것이 아니다.

- 아래와 같이 cmd 창을 열어 톰캣\bin 경로에서 startup.bat 을 실행시켜 주어야 한다.

- Tomcat cmd 창을 닫으면 서버가 종료 된다. ( 그냥 설치형 톰캣 사용하는게 편한듯 하다 )


7. 서블릿 실행

- 톱캣\conf\server.xml 에서 port를 수정하지 않았다면, 아래 그림처럼 8088이 아니라 톰캣 기본 포트인 8080 으로 접속하면 된다.

- temp는 톰캣\webapps\temp <- 폴더명

- ServletTest 는 톰캣\webapps\temp\WEB-INF\classes\ServletTest.class <- 서블릿 명




# 서블릿 작성시 주의 할 점!

서블릿 2.5 버전까지는 web.xml이라는 특수 파일에 서블릿 클래스를 설정해주어야 했지만, 서블릿 3.0 버전 부터는 서블릿 코드(java)에 @WebServlet 애노테이션을 사용하면, 웹 컨테이너가 알아서 서블릿을 등록 해준다.


때문에 서블릿3.0 으로 코드를 작성 하였다면 WEB-INF 폴더 안에 web.xml 파일이 필요 없다. 만약에 web.xml 파일이 있다면  @WebServlet 애노테이션은 무시되고 서블릿은 등록되지 않는다. 무심코 web.xml 파일을 복사해서 붙여 넣는 경우가 많은데, 주의 해야 한다! 


ROOT\WEB-INF 에는 web.xml 파일이 있는데, ROOT\WEB-INF\classes 에 서블릿3.0 으로 작성한 클래스를 위치 시켰다면 web.xml 을 삭제 해주어야 서블릿이 등록된다.



톰캣 버전별 서블릿 스펙 참고

톰캣 버전Servlet 스펙JSP 스펙최소 Java 버전
7.03.02.21.6
6.02.52.11.5
5.52.42.01.4

- 출처

http://jmnote.com/wiki/%ED%86%B0%EC%BA%A3_%EB%B2%84%EC%A0%84%EB%B3%84_%EC%84%9C%EB%B8%94%EB%A6%BF_%EC%8A%A4%ED%8E%99


'프로그래밍 > JSP' 카테고리의 다른 글

JSP - JSTL(Java Standard Tag Library) 다운로드  (0) 2013.10.07
JSP - 파일 업로드 예제  (2) 2013.08.30
JSP - MyBatis를 이용한 메모장 예제  (0) 2013.08.29
JSP 와 Servlet 의 차이  (0) 2013.08.28
서블릿의 이해  (0) 2013.08.28
댓글