02 HelloWorld!!!

프로그래밍/Web 2007. 11. 27. 15:10 Posted by galad


/******************************************************************************
*   파일      : HelloServlet.java
*   용도      : 초간단 서블릿 프로그램
*   작성자   : 성홍제
*   작성일   : 2006. 08. 24
*   Version : 1.0
******************************************************************************/

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

public class HelloServlet extends HttpServlet
{
    // 서버가 입력받은 정보는 req에 - 클라이언트가 request했으므로, 서버가 보낼 정보는 res에 - 서버가 response하므로.
    public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException
    {
        // 현재 클라이언트에 보낼 문서는 text/html이고 euc-kr로 인코딩되어있다고 알림
        res.setContentType("text/html;charset=euc-kr");
       
        PrintWriter out = res.getWriter();  // 출력 스트림을 얻는다.
       
        // html body 작성
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Hello, World</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("Hello, World!!!");
        out.println("</body>");
        out.println("</html>");
       
        out.close();
    }
}


익스플로러에서 실행 시

1. http://localhost:8080/ITEA/servlet/HelloServlet 

  localhost:8080 으로 들어갔으므로, 아파치를 통하지 않고 바로 톰캣으로 들어간다.

  /ITEA/ 는 톰캣에 deploy한 context를 말한다.

  /servlet/ 은 class 파일이 있는 위치를 말한다.

  HelloServlet 은 만들어서 D:\www\Tomcat 5.5\webapps\ITEA\WEB-INF\classes

에 넣어놓은 class파일명.

  여기서 제대로 보이지 않으면 톰캣 설정에서 문제


D:\www\Tomcat 5.5\webapps\ITEA\WEB-INF\web.xml 파일을 찾아보자


<servlet>
   <servlet-name>invoker</servlet-name>
   <servlet-class>org.apache.catalina.servlets.InvokerServlet</servlet-class>
</servlet>


<servlet-mapping>
   <servlet-name>invoker</servlet-name>
   <url-pattern>/servlet/*</url-pattern>
</servlet-mapping>


  오타는 없는가?


2. http://localhost/ITEA/servlet/HelloServlet

  localhost 로 들어갔으므로 아파치를 통해 톰캣으로 연동된 것.

  위의 경우에는 제대로 되는데, 2번의 경우 되지 않는다면 연동에서 실패한 것.

  관련 문서들을 찾아보자.


D:\www\Apache2\conf\httpd.conf 파일을 제대로 설정했는가

특히 이 부분

JkMount /*servlet/* ajp13
JkMount /*.jsp  ajp13
JkMount /*.do  ajp13
JkMount /Mail  ajp13


/*servlet/*  을 확인해 볼 것. 요청한 주소에 servlet/ 이 있다면 톰캣에서 처리하게 하겠다는 의미

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

에러 페이지 처리  (0) 2007.11.27
열혈강의 6장 실습하기  (0) 2007.11.27
04 JSP 액션  (0) 2007.11.27
03 JSP 시작  (0) 2007.11.27
01 시작~  (0) 2007.11.27