Programing/JAVA

간단한 servlet 프로그램 작성

Dongkkase 2008. 12. 16. 11:26
반응형
간단한 servlet 프로그램 작성
servlet 파일 : java로 만든 웹프로그래밍 파일
servlet : servlet 파일이 객체화 되서 메모리에 올라가져 있는 상태
servlet container : hdd에 저장된 servlet파일을 객체화시켜줌.

논리적인 구조
─────────────────────────────────────────
클라이언트---------------------------->(서버)servlet container
                                                             JVM

~.jsp==================>~.java============>~.class====>JVM이 실행
(프로그램의 내부구조)       (servlet)
─────────────────────────────────────────
  1. servlet파일 작성
    [반드시 HttpServlet 상속받아야한다.그래야 해당 컨덴츠가 서블릿)]
    기본 API, 확장API(api : 외부라이브러리+설명서)

  2. classpath
        C:\java\tomcat5.5\common\lib\servlet-api.jar

  3. 컴파일
    컴파일하고 바이트코드를 C:\java\tomcat5.5\webapps\ROOT\WEB-INF\classes에 붙여넣기

  4. 구성파일 변경
    C:\java\tomcat5.5\conf\web.xml 변경
    하단부분의 코드의 주석을 풀어준다
        <servlet>
            <servlet-name>invoker</servlet-name>
            <servlet-class>
              org.apache.catalina.servlets.InvokerServlet
            </servlet-class>
            <init-param>
                <param-name>debug</param-name>
                <param-value>0</param-value>
            </init-param>
            <load-on-startup>2</load-on-startup>
        </servlet>
    .
    .
    .
        <servlet-mapping>
            <servlet-name>invoker</servlet-name>
            <url-pattern>/servlet/*</url-pattern>
        </servlet-mapping>

  5. 톰캣 실행후
    http://localhost/servlet/HelloTest 로 확인
    http://localhost/servlet/HelloTest?id=adfaf 로 확인


아래의 예제로 테스트해보자
아래의 코드가 가장 기본적인 서블릿 코드가 아닐까 싶다





import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class HelloServlet extends HttpServlet{
	public void doGet(HttpServletRequest req, HttpServletResponse res)
            throws ServletException, IOException{
		res.setContentType("text/html;charset=euc-kr");
		try{
			PrintWriter out=res.getWriter();
			out.println("<html>");
			out.println("<head><title>Hello Servlet</title></head><body>");
			out.println("하하하");
			out.println("</body>");
			out.println("</html>");
			out.close();
		}catch(Exception e){
			getServletContext().log("Error in HelloServlet : ", e);
		}
	}

}
반응형