2007년 12월 전체 글 목록
2007/12/31   [Tomcat] 톰캣5.5 servlet을 위한 설정(윈도우즈) [2]
2007/12/31   이번에는 JSP에 도전하다.
2007/12/26   아저씨들 안녕... [2]
[Tomcat] 톰캣5.5 servlet을 위한 설정(윈도우즈)
톰캣 설치에 대한 글을 쓴지 1년이 다 되어가는 이 시점에 톰캣 설정에 대한 글을 쓰게 되내요. 찾아보니 톰캣 6.0도 있던데. 그런데  버전이 높다고 해서 다 좋은 것은 아닌 것 같내요. 버전 6.0에 도전해 봤는데, 실패했습니다. servlet에 대한 설정이 안되어서 포기하서 톰캣 5.5에 만족하기로 했습니다.

 어째든 이번에는 servlet을 위한 톰캣 5.5 설정을 해보겠습니다. jsp의 경우 그냥 하면 되는 것 같은데 servlet을 그냥 시도해봤는데 잘 안되고 설정을 변경해야 하는 것 같군요.

 이 글은 그냥 설정에서 끝나지 않고, HelloWorld 까지 만들어 보는데 까지 해보겠습니다.

우선 servlet을 위한 설정을 해보겠습니다. \conf\web.xml ( 저의 경우 C:\tools\apm\Tomcat 5.5\conf 디렉토리 안에 있내요. 모두 자기 상황에 맞게 디렉토리를 생각하기 바랍니다. )  파일을 수정해야 합니다. 패치된 버전마다 위치가 틀리겠지만 대략 115행에 다음과 같이 주석처리가 되어 있습니다.
==================================
<!--
    <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>
-->
=================================
여기서 주석처리 기호  <!--  과  --> 를  제거해 줍니다. (제 말을 오해해서 주석된 전체를 지우진 말아주세요.)

대략 366행 쯤에 다음과 같이 주석처리가 되어있습니다.
================================
<!--
    <servlet-mapping>
        <servlet-name>invoker</servlet-name>
        <url-pattern>/servlet/*</url-pattern>
    </servlet-mapping>
-->
==============================
여기서도 주석처리 기호  <!--  과  --> 를  제거해 줍니다.

그러면 설정을 다 되었습니다.

이 다음 이제 HelloWorld 프로그램을 만들어보겠습니다.  \webapps 폴더안에 간단히 Test 라는 폴더를 생성합니다. 이 test라는 폴더명은 자신의 구미에 맞게 써 놓아도 됩니다. 그러나 다음 부터 하는 것은 규정이기 때문에 폴더명을 고치면 안됩니다. 다시 그 안에 WEB-INF 라는 폴더를 생성합니다. 다시 그 안에 classes 이라는 폴더를 생성합니다.
 말이 어렵나요. 결론적으로 이렇게 한다면 \webapps\test\WEB-INF\classes 라는 path가 생성됩니다. 이 안 \webapps\test\WEB-INF 라는 폴더에 \webapps\ROOT\WEB-INF 안에있는  web.xml  파일을 복사해 둡니다.

(대충 눈치 채셨겠지만 내가 원하는 폴더명을 정한 후, 그 안에 일정한 규칙을 갖추어 폴더명을 정합니다. jsp의 경우 이런 복잡한게 필요 없는것 같은데 servlet은 조금 까다롭내요. 약간의 보안을 위해서 이렇게 하는 것 같군요.)




 HelloWorld프로그램의 소스는 examples까지 설치했다면 얻을 수 있습니다. 설치안한 분들을 위해 그 소스를 올립니다.
==========================================
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class HelloWorld extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>Hello World!</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Hello World!</h1>");
out.println("</body>");
out.println("</html>");
}
}
===========================================
당연히 이 파일을 저장할 때는 HelloWorld.java로 적어야 합니다. 이 파일을 \webapps\test\WEB-INF\classes 안에 둡니다.
그리고 컴파일 합니다. 이 때 환경변수에 classpath가 \Tomcat 5.5\common\lib\servlet-api.jar 설정되어 있어야 합니다. 저의
경우 complile 할 때 옵션에 classpath를 설정하는 방식을 이용했습니다. 그래서
C:\programs\jdk1.5.0_12\bin\javac.exe -classpath "C:\tools\apm\Tomcat 5.5\common\lib\servlet-api.jar" "C:\tools\apm\Tomcat 5.5\webapps\MySample\WEB-INF\classes\HelloServlet.java"
라는 식으로 컴파일 합니다. (굉장히 긴니다. javac.exe가 있는 path 도 설정되어 있지 않기 때문에 이러한 방식을 이용하는데
어차피 acroeditor에서 컴파일하므로 불편한 일은 없습니다. )

이렇게 컴파일하고 나면, 이제 http://localhost:8080/test/servlet/HelloWorld 를 통해

Hello World!


라는 글을 볼수가 있습니다. 물론 tomcat이 작동하고 있어야 가능하겠죠..

by nahanmil | 2007/12/31 21:55 | APM + Web | 트랙백 | 덧글(2)
이번에는 JSP에 도전하다.
 1월 2일 부터 입사인데, 그 전에 새로운 것을 배우기위해 노력중이다. 이번에는 JSP를 공부하려고 한다.
 내 이번 목표는 JSP 보다도 루씬이다. 새로운 검색엔진을 개발하는데 도움이 되지 않을까 하는 생각에 우선 JSP부터 시작하려고 한다.
 저번에도 한 번 도전했었는데 학업때문에 제대로 시작조차 하지 못했다. 어제까지 자바쪽을 다시 공부하고 JSP에 도전할려고 한다. Tomcat6.0을 설치하고 나서 이제 시작하려고 하는데, 뭔가 모를 것 때문에 발목이 잡혔다. 역시 새로운 버전을 가지고 할려니까 발목 잡는게 많다. 그냥 예전 버전을 가지고 공부할 것 그랬나. 그래도 다시 한 번 시도해 보자. 맨 땅에 헤딩하기가 내 취미니까.
by nahanmil | 2007/12/31 19:13 | 오늘 하루 | 트랙백
아저씨들 안녕...
 우리들은 서로 아저씨라고 칭한다. 복학하고 나니  어떤 동기가 아저씨라는 호칭을 전파시켰다. 나도 이 아저씨에게 동화되어 동기들에게는 아저씨라는 호칭을 사용하고 있다. 이 호칭이 어쩌면 이제부터 다른 사람들로부터 아저씨라고 불린 만큼의 나이게 되어다는 자조썩인 호칭일 수도 있지만, 이제는 아저씨라는 호칭이 친근하게 느껴진다. 미리미리 이 호칭에 적응해야 한다고 해야하나. (어쩌든 회사가서 과장님 보고, 과장아저씨라고 하면 혼나겠지? 그 때는 쓰면 안될 것 같은데.)

 오늘 지방내려가는 내 동기들을 만났다. 원래 고향이 서울이 아닌 사람들이고 (나 또한 원래부터 서울 사람이 아니다. ) 이제 앞으로 한 명은 포항으로 내려가서 학업을 이어갈 사람이고, 또 한명은 회사 연수(나도 회사 연수 같은 거 받아보고 싶은데, 내가 다닐 회사는 없을 것 같다.)를 받아봐야 어디로 갈지 결정된다고 했다. 어째든, 앞으로 보기 힘들 사람들이다. 앞으로 볼 수 있는 날이 졸업식 정도 같다.

 아저씨들 모두 잘가라. 잘 살아. 나중에 봅시다.
by nahanmil | 2007/12/26 21:57 | 오늘 하루 | 트랙백 | 덧글(2)
<< 이전 다음 >>