1. 서블릿 패키지
- 서블릿은 두 개의 패키지로 구성되어 있다.
1) javax.servlet : 일반 서비스를 위한 서블릿 패키지
2) javax.serrvlet.http : HTTP 서비스를 위한 패키지
C:\Program Files\Java\jdk1.6.0_01\jre\lib\ext
위의 경로에 복사해보자.2. java 코드 작성
import java.io.*; public class HelloServlet extends HttpServlet out.println("<html>"); |
1) import java.servlet.*;
import java.servlet.http.*;
-> 서블릿 패키지들을 import한다.
2) public class HelloServlet extends HttpServlet
-> 서블릿 클래스는 주로 HttpServlet로부터 상속받아 작성을 하고, 항상 public class로 선언해야한다.
3) public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException
-> 클라이언트의 GET 요청을 처리하기 위해서는 doGet() 함수를 작성한다. doGet() 함수는 추상 클래스로부터 상속을 받기 때문에 항상 HttpServletRequest, HttpServletResponse 타입의 매개변수를 갖는다. 또한 이 함수는 예외가 발생할 수 있기 때문에 throws 문장을 써준다.
4) res.setContentType("text/html;charset=KSC5601");
-> HttpServletResponse 클래스의 setContentType() 함수를 이용해서 MIME 타입을 기술한다. 또한 한글 문자 인코딩을 사용하기 위해서 charset을 KSC5601로 지정한다.
5) PrintWriter out = res.getWriter();
-> 클라이언트에 내용을 전송하기 위해서 PrintWriter를 생성한다. 이 PrintWriter를 통해서 쓰인 내용들은 클라이언트의 웹 브라우저로 전송된다.
6) out.println("<html>");
-> PrintWriter의 println() 함수를 이용해서 클라이언트에 보일 HTML 문서를 작성한다.
3. 컴파일과 class 파일의 위치
java 소스 파일 작성을 마쳤다면, 소스 파일을 컴파일한다. 컴파일을 하면 HelloServlet.class 파일이 생성이 된다.
이 HelloServlet.class 파일을 웹 컨테이너로 복사한다. 복사할 위치는 <TOMCAT>/ROOT/WEB-INF/classes이다.
4. web.xml 설정하기
1) <TOMCAT>/ROOT/WEB-INF/web.xml 파일을 다음과 같이 설정
중략... <!-- JSPC servlet mappings start --> <servlet-mapping> 중략... |
예에서 굵고 빨간 글씨가 web.xml 파일에 추가할 내용들이다.
주석으로 막은 부분은 http://localhost:8080/ 사이트의 첫 화면을 위해 기술한 것이다.
만약 첫 화면을 다른 것으로 변경할 필요가 있는 경우에는 예에서처럼 주석을 사용해서 막고, <TOMCAT>/webapps/ROOT 디렉터리에 있는 index.html 혹은 index.jsp 파일을 만든다.
2) web.xml 파일을 변경하였다면 자카르타 톰캣을 restart한다.
3) 웹 브라우저를 이용해서 http://localhost:8080/servlet/HelloServlet 사이트를 방문한다.