티스토리 뷰
# 작업 환경
- 톰캣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.0 | 3.0 | 2.2 | 1.6 |
6.0 | 2.5 | 2.1 | 1.5 |
5.5 | 2.4 | 2.0 | 1.4 |
'프로그래밍 > 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 |
- Total
- Today
- Yesterday
- dynamodb console
- SIS
- aws dynamodb
- 소켓 예제
- excel을 json으로
- 재테크
- Windows Terminal
- 크롬 한글
- 자바 소켓
- excel2json
- golang excel2json
- 자바
- profile.ps1
- RUBY
- Java
- java 소켓
- Windows Terminal Color
- New-Alias
- 예제
- java socket
- 파일 입출력 예제
- PowerShell ObjectNotFound
- 크롬 한글 스페이스
- aws configure
- excel to json
- Windows Terminal cmd
- ajax 예제
- 자바 예제
- 크롬 한글 문제
- MySQL
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |