Java Thread Sleep


개발을 하다보면 중간중간 잠깐 쉬어야 하는 경우가 발생합니다. 예를 들어, 많은 서버의 경우 시간당 요청할 수 있는 쿼리의 숫자를 제한하는 경우가 많이 있습니다. 무제한 제공을 할 경우 DDOS 공격에 취약해지고, 소수의 사용자가 엄청난 쿼리를 날리게 될 경우 서버가 다운 될 가능성이 있기 때문이지요.

따라서 Java를 이용해서 프로그래밍을 할 경우 중간중간 쉬었다 해야 할 경우가 있습니다. 이럴때 Thread Sleep을 이용하면 됩니다.

예제를 살펴보시면,

public static void main(String[] args)
{
    try
    {
          for (int i = 1; i <= 60; i++)
         {
             System.out.println(i);
             Thread.sleep(1000);
          }
     }
     catch (Exception e)
     {
        e.printStackTrace();
    }
}


위 소스코드를 실행해보면 1부터 60까지의 숫자를 초당 1씩 증가해서 보여주는 것을 볼 수 있습니다. 핵심은 Thread.sleep() 메소드 입니다. 이 메소드의 파라미터는 밀리세컨드로 얼마나 스레드가 슬립 상태로 있을 것인가 입니다. 1000밀리 세컨드는 1초이기 때문에 1초간 쉬었다가 보여주고, 1초간 쉬었다가 보여주는 식입니다.

위 예제를 적재적소에 응용하시기 바랍니다. ^^

StringTokenizer를 이용한 간단한 예제


자바를 이용해서 문자열 처리를 할 때, 유용하게 쓰이는 클래스가 바로 StringTokenizer 클래스입니다. java.util 에 들어 있는 StringTokenizer 를 이용하면 문자열을 delimeters 라고 하는 기준 문자( 혹은 문자열 )를 이용해서 여러개의 토큰으로 잘라 낼 수 있습니다.

백문이 불여일견 예제 소스를 하나 만들어보겠습니다.

import java.util.StringTokenizer;


public class test
{
    public static void main(String args[])
    {
        String temp = "대한민국*미국*영국";
       
        StringTokenizer st = new StringTokenizer(temp,"*");
       
        String token = "";
        while(st.hasMoreElements())
        {
            token = st.nextToken();
           
            System.out.println(token);
        }
    }
}


이 소스를 돌려보면 다음과 같이 나옵니다.


StringTokenizer 결과

StringTokenizer 결과



StringTokenizer 예제 소스에 주석을 달아보겠습니다.


StringTokenizer 주석

StringTokenizer 주석



StringTokenizer를 사용할 때, 간단하지만 가장 많이 쓰이는 패턴입니다. 복잡한 문자열이라도 토큰으로 나눌 경우 위와 같은 패턴을 쓰게 됩니다.



<StringTokenizer 클래스를 사용한 간단한 예제> 는 개발자 꼬마낙타가 정리하는 글입니다. 질문이 있으신 분은 댓글을 달아주세요. 같이 고민해봅시다. ㅋㅋ

Twitter4j 라이브러리 버그 리포팅 "401:Authentication credentials..."


트위터 웹 어플리케이션을 개발하면서 Twitter4j 라는 어플리케이션을 사용하고 있는데요. 오픈 라이브러리이다보니 자잘한 버그들이 많이 있습니다. 이번에 잡은 버그는 JSP로 서드파티 어플리케이션을 개발하면서 나왔던 버그입니다. 웹에 공개되어 있는 Twitter4j 라이브러리와 JSP 연동 예제를 따라하다보면 다음과 같은 에러 메시지가 뜨게 됩니다.
( 에러 메시지라고 할까요. 아니면 Exception이라고 할까요.)




401:Authentication credentials (https://dev.twitter.com/docs/auth) were missing or incorrect. Ensure that you have set valid conumer key/secret, access token/secret, and the system clock in in sync.
The screen name / password combination seems to be invalid.Relevant discussions can be on the Internet at:
    http://www.google.co.jp/search?q=96430884 or
    http://www.google.co.jp/search?q=00002d45
TwitterException{exceptionCode=[96430884-00002d45 9aae86e9-14926980], statusCode=401, retryAfter=-1, rateLimitStatus=null, featureSpecificRateLimitStatus=null, version=2.2.4}


이 에러 메시지가 떠서 한참을 고생했었는데, AccessToken을 얻는 과정에서 뭔가 잘 못 되었나봅니다. 일단 Exception이 발생한 부분을 보면



if (token.equals(oauthToken)) {
 try
{          
accessToken = twitter.getOAuthAccessToken(oauthToken,requestToken.getTokenSecret());
 }
catch (TwitterException e)
{
            e.printStackTrace();
            System.out.println("트위터인증실패 : " + e);
}


dev.twitter.com 에서 지정해 놓은 리디렉션 URL에 추가되어 얻어진 oauthToken( 결국 requestToken.getToken()에서 얻어진 토큰 )과 requestToken.getTokenSecret() 으로 얻어진 Secret 을 이용해서 AceessToken을 얻어 이것을 이용해 OAuth 로그인을 한 계정의 정보에 접근을 하게 됩니다.

이 때, AccessToken을 얻는 과정에서 Exception이 발생하게 되는데, 왜 그런지는 모르겠지만 오버라이드 된 다른 메소드를 사용해서 해결했습니다.

해결 방법은...


a.jsp ( OAuth 로그인 이전 페이지... 여기서 OAuth 로그인 페이지로 넘어감 )

request.getSession().setAttribute("ReqToken",requestToken);


리퀘스트 토큰 자체를 세션에 저장합니다. ( 원래는 requestToken.getToken(), requestToken.getTokenSecret() 을 이용해서 토큰과 시크릿을 만들어서 세션에 저장했었죠. )

b.jsp ( OAuth 로그인 이후, 리디렉션 URL로 저장된 곳 )

RequestToken reqToken = (RequestToken)request.getSession().getAttribute("ReqToken");

...

accessToken = twitter.getOAuthAccessToken(reqToken);


이런식으로 세션에 RequestToken 객체를 저장했다가 다시 꺼내와서 RequestToken 으로 캐스팅해서 AccessToken을 얻는 방식을 사용하면 됩니다.

다른 해결 방법이 있는지는 모르겠지만 저는 이런식으로 Twitter4j 라이브러리가 던지는 Exception을 해결 했습니다.





[JSP 강좌] JSP문서에 주석 달기


JSP 뿐만아니라 대부분의 프로그래밍 언어에서 "주석" 이라는 기능을 제공합니다. 웹 프로그래밍 언어인 JSP 역시 자바 문법을 따르고 있으므로 주석 기능이 제공 되는데요. 주석은 프로그램의 논리적 구조에는 전혀 영향을 미치지 않는 글로 각 부분의 간략한 설명을 써 놓을 때 사용합니다.

JSP 프로그래밍 환경에서는 두 가지 형태의 주석이 사용됩니다. 
JSP 부분에서 사용되는 주석과 HTML 환경에서 사용되는 주석이 있습니다.


JSP 주석 1 - HTML 스타일 주석 

먼저 HTML의 주석을 JSP 프로그래밍에도 사용 할 수 있습니다. JSP로 HTML 태그를 생성하는 것이기 때문에 뭐 당연한 말이겠네요. HTML 주석은 다음과 같이 생겼습니다.


<!-- HTML 주석입니다. -->


이런 스타일의 주석은 동적 웹 프로그래밍언어가 아니라 순수한 HTML로만 이루어진 웹 페이지에서도 많이 볼 수 있는 태그입니다. 실제로 웹 브라우저에서 실행시켜 보면 "HTML 주석입니다." 라는 글자는 출력되지 않죠.

JSP의 관점에서 보면, 이런 HTML 스타일의 주석은 클라이언트로 전달되는 주석이라는 특징이 있습니다. HTML 스타일의 주석도 어떻게 보면 하나의 태그이기 때문에 다른 태그들과 마찬가지로 클라이언트의 웹 브라우저로 전송이 됩니다.

그렇기 때문에 비즈니스 로직이나 JSP 프로그램의 핵심 알고리즘을 노출 시킬 수 있는 주석을 이런 HTML 스타일로 작성을 하게 되면, 주석이 그대로 클라이언트 웹 브라우저로 전송이 됩니다. 클라이언트에서 <소스보기> 기능을 이용해서 HTML 코드를 뜯어 볼 경우 이런 주석은 그대로 노출되기 때문에 보안상 위험이 있는 내용은 HTML 주석으로 처리하면 안 됩니다.

HTML 스타일의 주석 사용의 예를 들어보겠습니다. 다음 소스를 작성해서 실행 시켜 보도록 하겠습니다.




그리고 실행 결과가 나오는 창에서 소스보기를 통해 주석이 클라이언트에서 어떻게 보이는지 보도록 하겠습니다.



HTML 주석이 그대로 노출 되는 것을 볼 수 있습니다. 위의 예에서 본 것 처럼 만약 데이터 베이스나 기타 시스템의 아이디와 비밀번호를 HTML 스타일 주석으로 처리를 했다면, 그 아이디와 비번은 만천하에 공개되는 것입니다.

그렇기 때문에 HTML 스타일 주석을 사용 할 때에는 주의가 필요합니다.


JSP 주석 2 - JSP 스타일 주석


그렇다면 핵심적인 비즈니스 로직이나 비밀번호 같은 중요한 정보를 주석으로 설명하되, 클라이언트로 전송이 되지 않도록 하는 방법은 없을까요? 없다면 거짓말이겠죠.

바로 JSP 스타일의 주석을 이용하면 서버에서만 ( JSP 파일에서만 ) 볼 수 있고 결과로 전송되는 HTML에서는 보이지 않는 주석을 작성 할 수 있습니다. JSP 스타일의 주석은 다음과 같습니다.


<%-- JSP 주석입니다 -- %>


아까 봤던 HTML 스타일의 주석과 비슷하지만 약간 다르네요. 느낌표 대신에 퍼센트 문자가 들어갔습니다.
이렇게 쓰는 주석은 JSP 파일을 편집 할 수 있는 서버측에서만 볼 수 있으며, 클라이언트 쪽에서는 이 주석을 볼 수가 없습니다.
테스트를 해보자면, 다음 소스코드를 실행해 보도록 합시다.




그리고 실행 결과가 나오는 창에서 소스보기를 통해 이 주석이 클라이언트에서 어떻게 보이는지 보도록 하겠습니다.



아까와는 달리 JSP 스타일의 주석은 클라이언트가 <소스보기>를 통해서 볼 수 없음을 알 수 있습니다.
그러므로 중요한 비즈니스 로직이나 JSP 파일의 핵심 내용, 보안상 중요한 정보 등은 HTML 스타일의 주석보다는 JSP 스타일의 주석을 이용해서 설명해 놓는 것이 좋다는 걸 알 수 있습니다.


JSP 주석 3 - JAVA 스타일 주석


그 밖에 JSP는 자바 언어의 문법을 그대로 이용하고 있기 때문에 기존의 자바스타일의 주석도 이용할 수 있습니다. 자바 스타일의 주석에는 두 가지가 있는데,


// 한 줄 짜리 자바 주석

/*
    한줄 혹은
    여러 줄 짜리
    자바 주석
*/


첫 번째는 한 줄 전체를 주석처리하는 것으로 다음 줄은 주석처리가 되지 않습니다.
두 번째는 주석의 범위를 지정할 수 있는데, '/*' 문자는 주석을 여는 문자이고, '*/'는 주석을 닫는 문자입니다. 즉, '/*' 과 '*/' 사이의 모든 문자는 줄 바꿈문자를 비롯하여 모두 주석처리가 되는 것입니다. 자바를 배워보셨거나 기타 다른 프로그래밍 언어를 배워 보신 분들은 쉽게 이해가 가실 거라고 생각합니다.

마지막으로 한번 더 주석처리에 대한 연습을 해보겠습니다.




이 소스 코드를 실행해 보면,



이렇게 나옵니다.
주석은 안 쓰는 것보다 쓰는 것이 프로젝트 관리와 진행에 있어서 많이 도움이 됩니다. 하지만 웹 프로그래밍과 같은 경우에는 주석을 잘 못 썻을 경우에 보안상 문제가 발생 할 수도 있는데요.

어떤 주석이 어떤 특성을 갖고 있는지 알고 사용해야 합니다.



JSP 문서 만들기


이제 본격적으로 JSP라고 할 수 있는 것들을 배워 보겠습니다.
여러분의 컴퓨터에 JSP 프로그래밍 환경이 갖추어 지지 않았다면, 이전에 포스팅 해놓은 것들을 따라하면서 JSP 프로그래밍 환경을 구축하시기 바랍니다. JSP 프로그래밍 환경이 없으면 JSP를 실행 할 수 없겠죠?

2010/04/06 - [놀이터/글 창고] - 자바( Java )설치하기 & 환경변수( path ) 설정하기
2010/04/06 - [놀이터/글 창고] - 자바( JAVA ) 개발 환경 설치( IDE 설치 ) - 이클립스( Eclipse ) 설치하기 및 오류
2010/07/15 - [놀이터/글 창고] - 이클립스와 톰캣 설치 및 연동하기
2010/07/19 - [놀이터/글 창고] - JSP 프로젝트 생성 및 "Hello, world!" 프로그래밍

이전에 "Hello, World!" 프로그래밍을 해봤는데요. 사실 이것은 JSP 라고 하기가 뭐 한게, JSP 함수들을 이용하지 않고 단지 HTML문서를 JSP 파일로 돌려 본 것 뿐입니다. 그래서 오늘은 진짜 JSP라고 할 수 있는 기초 프로그래밍을 배워 보도록 하겠습니다.


JAVA 언어를 이용한 "Hello, World!"


 이전에 실행 해 봤던, "Hello, World!" 라는 소스를 기억 하시나요?
2010/07/19 - [놀이터/글 창고] - JSP 프로젝트 생성 및 "Hello, world!" 프로그래밍
위에서 말씀 드렸다 시피 이 소스는 JSP라기 보다는 HTML이라고 해야 더 정확 할 것입니다. 동적인 요소, 특히 JAVA 언어가 사용되지 않았기 때문이죠. 이제 여기에 JSP적 요소( JAVA 언어를 이용한 )를 추가한 "Hello, World!" 소스 코드를 작성해 보도록 하겠습니다.

소스는 다음과 같습니다.

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
<%    String str = new String("Hello, World!"); %>
<%= str %>
</body>
</html>


이전에 작성했었던 "Hello, World!" 소스와 달라진 부분이 있지요?

이전 "Hello, World!" 소스


바뀐 "Hello, World!" 소스


바로 <Body> 태그의 안쪽에 단순히 Hello, world! 라는 문자열만 있었던 부분이 자바 비스무리한 소스코드로 바뀌어 진 부분입니다. 출력되는 결과는 같습니다만, 표현하는 방식이 약간 다른데요. 전자는 HTML을 이용한 정적인 방식이고, 후자는 JSP를 이용한 동적인 방식이 되겠습니다.

JSP 코드의 출력 결과


더 설명을 하자면, JSP 소스 코드에는 HTML 코드 뿐만아니라 자바 프로그래밍 코드도 약간 들어가 있다는 것입니다. 바로 HTML 문서 중간에 <% %>로 둘러 쌓인 부분이 바로 자바 프로그래밍 부분인데요. 위에서는 문자열인 String 클래스를 생성자를 이용해 "Hello, World!" 라는 문자열을 만들어서 저장을 하고 있습니다. 여기까지는 자바 코드와 같은 패턴이네요.

다음은 <%= str %> 부분입니다. 원래 자바에서 콘솔에 문자열을 출력하는 메소드는 System.out.println("") 임을 자바를 배우신 분이라면 아실 겁니다. 하지만 JSP에서 출력이 되는 곳은 콘솔이 아니라 HTML을 출력하는 웹 브라우저입니다. 이 때 사용하는 방법이 <%= 변수 %> 를 사용하는 방법으로, 변수에 들어있는 내용이 문자열의 형태로 HTML 상에 출력이 되는 것입니다.

위 소스 코드를 설명해보면, str 이라는 변수에 "Hello, World!"라는 문자열 객체를 만들어서 가리키게 하고 있습니다. ( str이라는 변수에 "Hello, World!"라는 문자열을 저장하고 있다고 보시면 됩니다. ) 그 다음줄에서 <%= str %> 이라는 부분에 의해서 str 변수에 들어있는 문자열이 HTML 상으로 출력이 됩니다. 즉, str에 "Hello, World!" 라는 문자열이 들어 있으므로 <%= str %> 코드를 만나서 Hello, World 가 HTML로 출력이 되는 것입니다.

로그인 처리


JSP를 이용하는 이유가 바로 여기에 있는데요. 프로그래밍이 가능하다는 부분입니다. 만일 로그인한 사용자의 정보를 표현하고 싶을 때, 그 정보를 변수에 담았다가 요소요소에 사용 할 수 있습니다. 또, 회원의 등급에 따른 if 문의 사용으로 JSP 페이지를 다르게 표현 할 수도 있는 강력한 프로그래밍 가능성을 가지고 있습니다.

요약하면 JSP를 이용해서 좀 더 유연하고, 강력한 웹 페이지를 구성 할 수 있다는 말입니다.

JSP에 대한 더 자세한 내용은 차차 배워 가도록 하겠습니다. JSP를 배워서 게시판을 만들어 보는 것이 이번 스터디의 목적이니 잘 따라 오시고 좀 더 공부를 하시면 쇼핑몰이나 블로그 플랫폼, 홈페이지 정도를 만들 수 있는 실력까지 올라 가실 수 있을 겁니다. ^^


JSP 학습 추천 도서



이클립스 톰캣 연동하기 ( Eclipse & Tomcat )



 요즘 JSP 관련 코딩을 할 일이 생겨서 컴퓨터에 JSP 개발 환경을 설치해야 했는데요.
 톰캣(TomCat) 이라는 서버 프로그램을 이용해서 개인용 컴퓨터에 손 쉽게 서버 환경을 구축 할 수 있습니다.
 JSP 개발 환경을 구축하고 싶으신 분들은 개발 환경인 이클립스와 JDK ( Java Development Kit )을 설치하시기 바랍니다.
 이클립스와 JDK 설치는 이전에 포스팅 해 둔것이 있으니 링크를 걸어드리겠습니다.

2010/04/06 - [컴퓨터 공학/Java] - 자바( Java )설치하기 & 환경변수( path ) 설정하기
2010/04/06 - [컴퓨터 공학/Java] - 자바( JAVA ) 개발 환경 설치( IDE 설치 ) - 이클립스( Eclipse ) 설치하기 및 오류

첫 번째 링크가 여러분의 컴퓨터에 자바 개발 환경을 설치하는 단계입니다.
버젼이 다를 수도 있으며, 버젼에 따른 라이브러리 등이 다를 수도 있으니 여러분의 편의 맞게 버젼을 선택해서 설치해주시기바랍니다. 일반적으로는 최신 버젼을 추천하는 바입니다만 여러분의 프로젝트에서 이전 버젼을 사용하고 있을 수도 있고, 라이브러리가 바뀔 수도 있으니 적절하게 선택을 해서 설치하시기 바랍니다.

기존에 자바 프로그래밍을 하시던 위의 두 단계를 그냥 넘어가셔도 무방합니다.


1. 톰캣을 설치해 보자.

그럼 서버 프로그램인 톰캣을 설치해 보도록 하겠습니다.
웹 어플리케이션을 만들고 정상동작하는지 테스트 하기 위해서는 웹 어플리케이션 서버( WAS ; Web application Server ) 프로그램이 필요합니다. 그 중에 많이 사용되고 있는 것이 톰캣이라는 프로그램입니다.

먼저 톰캣의 다운로드 페이지로 가보도록 하겠습니다.

http://tomcat.apache.org/




위에 걸어드린 링크를 따라가시면, 위 그림과 같이 카리스마 있어보이는(?) 고양이가 그려진 Apache Tomcat 페이지가 뜰 것입니다. 좌측의 메뉴중에서 Download ( 다운로드 ) 부분을 보시면 여러가지 톰캣 버전이 있습니다. 특정 버전을 원하시면 그 버전을 다운받아서 설치를 하시면 되지만, 최신 버전을 설치 할 것을 권하는 바입니다.

저는 제가 보고 있는 책에서 사용하고 있는 Tomcat 5.5 버전을 다운받아서 사용하겠습니다.
사실 버전에 따른 차이는 그렇게 크지 않다고 생각합니다. 톰캣 서버를 처음 설치해 보시는 분들이라면 막 웹 어플리케이션 프로그래밍을 접하시는 분들일 것이고, 그런 분들에게 제공되는 서비스는 버전에 따라서 크게 다르지 않기 때문입니다. 하지만 좀 더 복잡하고 어려운 프로그래밍을 하실 분들은 더 높은 버전, 혹은 안정된 버전의 서버를 사용하시면 될 것입니다.
 이전 버전은 치명적인 오류만 없으면 웹상에 많은 레퍼런스들이 존재하기 때문에 오히려 공부하기에는 더 좋지 않을까 생각이 들기도 합니다.



아무튼, 원하는 버전을 클릭하시고 스크롤을 좀 내리면 위와 같은 섹션이 있습니다. [Binary Distributions]에서 [Core] 중에 [Windows Service Installer]를 선택해서 다운로드 받습니다.

직접 zip 이나 tar.gz 을 받아서 해도 되지만 여러분의 운영체제가 Windows 시리즈의 운영체제라면 쉽게 설치 할 수 있는 세번째 Windows Service Installer 를 받아서 설치하는 걸 권장합니다. 쉽거든요 ㅋ





다운로드를 받습니다.

제가 사용하는 인터넷 브라우저가 파이어 폭스이기 때문에 위와 같은 창이 나오는 것입니다.
웹 브라우저에 따라 약간은 다를 수도 있으니 그냥 다운로드 받으시면 됩니다. ㅎ



여러분이 다운로드 받은 경로에 고냥이 모양의 아이콘이 있을 겁니다. "apache-tomcat-5.5.30.exe' 인가요? 아무튼 아파치 톰캣 어쩌구인 아이콘을 실행합니다.




네, 여기서 부터는 일사천리로 진행됩니다.
"아파치 톰캣 설치 마법사에 오신것을 환영합니다." 라는 말을 하고 있네요.
[ Next > ]를 눌러서 다음으로 진행합니다.




사용 라이센스에 대한 내용입니다.
시간이 많으시거나 영어 독해 연습을 하시고 싶으신 분들은 읽어보시기 바랍니다.
언제나 늘 그랬듯이 [ I Agree ]를 눌러 줍니다.

문제가 많은 부분이죠.
이렇게 라이선스 동의 과정을 집어 넣어도 읽는 사람이 몇 %나 있을까요?
아마도 상업적으로 이용할 때에는 아파치에서 제공하는 유료 제품을 사용해야 한다는 내용 정도가 들어있지 않을까요?
일반적으로 이 라이선스를 어기는 사람을 별로 없을 것으로 생각됩니다만,
언젠간 한번 읽어 보는 것을 추천합니다.



설치 옵션을 조정하고 싶으시면 변경하시기 바랍니다.
시작 메뉴에 톰캣을 등록 할 꺼냐, 톰캣 Documents 를 설치 할 것이냐, ( 뭐 사용법이나 문제 해결 같네요 ), 톰캣 매니저 프로그램을 설치 할 것이냐 등등이 있네요. 잘 모르겠으면 그냥 [ Next > ]을 눌러서 넘어갑니다.


톰캣 서버 프로그램을 여러분의 컴퓨터 어디에 설치 할 것인가를 정하는 단계입니다.
딱히 관리를 안해주시는 분은 [Next]를 눌러서 진행을 하시기 바랍니다.
아니면 [Browse]를 눌러서 설치할 경로를 지정해 주시면 됩니다.


포트와 패스워드 설정에 관한 부분입니다.
톰캣의 기본 포트는 8080 이지만 이 포트가 이미 여러분의 컴퓨터에 설치된 프로그램에 의해 사용되고 있을 경우, ( 예를 들면 다른 서버 프로그램이 이미 사용하고 있을 경우 ) 다른 것으로 지정해 주시면 됩니다. 중복이 되면 아마도 나중에 실행 할 때 오류가 나거나 충돌 메시지가 뜰 겁니다.

 또 사용자 이름은 여러분이 편할대로 하면 되지만, 예의상 admin 이라는 이름으로 해주고, 패스워드도 입력을 안해도 되지만 적절하게 입력을 해줍니다. ( 나중에 필요하니 기억하기 쉬운 걸로 해두세요 )


이 부분은 여러분이 자바를 설치했던 경로를 지정하는 곳입니다.
이전에 JDK를 설치 했었는데요.

2010/04/06 - [컴퓨터 공학/Java] - 자바( Java )설치하기 & 환경변수( path ) 설정하기

이 때 지정해준 경로를 여기서 지정해 주면 됩니다. ( 이래서 뭘 설치 할 때 경로를 잘 안바꾸는 모양입니다. 나중에 복잡해 지니까요 ㅜㅜ )

[Install]을 누르시면 드디어 톰캣 설치가 진행됩니다.



설치는 금방 끝납니다.
심심하시면 [Show details]를 누르셔서 설치 과정을 지켜보시기 바랍니다. 눈만 아파요 ㅋㅋ




설치가 끝났습니다.
두개의 체크 박스는 [Finish]를 눌렀을 때, 톰캣 서버 프로그램을 실행 시킬 것인가? 와 Read me 파일을 열어 볼 것인가를 나타냅니다. [Finish] 버튼을 눌러서 설치를 마칩니다.




네 저는 그냥 [Finish]를 클릭해서 톰캣 서버가 시작 준비를 하고 있습니다. Read me 파일도 열렸네요. 시간나면 한번 읽어 보시기 바랍니다. ( 읽으면 좋아요 )


그럼 트레이에 ( 오른쪽 하단의 작은 아이콘들이 나오는 부분 ) 위와 같은 아이콘이 나올 겁니다.
톰캣이 실행되고 있다는 말이죠.

제대로 설치가 되었는지 확인 하기 위해서 및의 링크를 클릭해 봅니다.

http://localhost:8080/

아까 포트 설정 할 때, 기본 포트인 8080 포트가 아닌 다른 포트를 지정하신 분들은 8080 대신 사용하실 포트 번호를 넣어 주시면 됩니다.




이 화면이 나오면 여러분의 컴퓨터에 톰캣 설치가 완료 된 것입니다. ^^



2. 이클립스와 톰캣을 연동해 보자.

자바를 공부하신 분들이라면 누구나 알고 있을, 이클립스라는 툴이 JSP 개발환경도 제공하고 있습니다.
저도 JSP 코딩을 하기 위해서 이클립스 환경을 사용하고 있는데요.
이클립스를 사용 하실 분은 설치하시기 바랍니다.

2010/04/06 - [컴퓨터 공학/Java] - 자바( JAVA ) 개발 환경 설치( IDE 설치 ) - 이클립스( Eclipse ) 설치하기 및 오류

네, 그럼 이제 이클립스에서 사용 할 수 있는 [이클립스-톰캣 연동 플러그인]을 다운로드해서 설치하겠습니다.
다음 링크를 따라갑니다.

http://www.eclipsetotale.com/tomcatPlugin.html



그럼 위와 같은 페이지가 나오는데요.
스크롤바를 내리다 보면 [Download]라는 섹션이 있습니다.



최신 버전인 3.2.1 을 다운 받도록 하겠습니다.



다운로드 받은 압축 파일의 내용물을 이클립스의 plugins 폴더에 넣어 둡니다.

제가 이렇게 많은 플러그인들을 사용하고 있는지 오늘 알았네요.
처음 설치 하신 분들은 많지 않을 수도 있습니다. ㅎㅎ

이클립스를 재시작합니다.


그럼 위와 같은 톰캣 모양의 아이콘이 삽입 된 것을 볼 수 있을 겁니다.

다운 받은 파일을 알집으로 압축 풀기를 하면, 알집 이름으로 폴더가 생기고 그 안에 내용물이 들어 있는 형식으로 되더라구요. 여기서 압축을 푼 폴더를 그냥 plugins 에 옮기는게 아니라 그 안에 들어 있는 폴더를 plugins 로 옮겨야 합니다. 무슨 말이냐면,


알집으로 압축을 풀면 ZIP 파일과 똑같은 폴더가 생깁니다. 얘를 옮기는게 아니라 이 폴더를 열면


이런 놈이 있는데, 이 폴더를 plugins에 넣어두시면 됩니다.
헷갈릴 수도 있어서 알려 드립니다. ^^




좀 더 세팅을 하기 위해 [Windows] 탭에서 [Preferences]를 선택합니다.



왼쪽에서 [Tomcat]이라는 메뉴를 클릭하면 여러가지 설정을 할 수 있습니다. 일단 맨 위에 [Tomcat version] 에서 여러분이 설치한 톰캣 버전을 선택해 줍니다. 저는 5.5를 선택했으므로 5.X 를 선택하겠습니다.
그 다음 톰캣이 설치된 폴더를 지정해 줍니다. 저는 기본 경로에 설치를 했으므로
"C:\Program Files\Apache Software Foundation\Tomcat 5.5"
를 고르겠습니다.
그 다음은 Context declaration mode 인데 서버 설정 같은 걸 저장해 두는 모양입니다.
이 전에 xml 파일로 해둔 기억이 있으므로 Server.xml 을 선택하겠습니다.

어짜피 나중에 바꿀 수 있으므로 너무 신중하게 고르지 마세요 ㅎㅎ




Tomcat 메뉴의 하위 메뉴로 [Advanced] 라는 곳을 선택하면 위와 같은 화면이 나옵니다.
Tomcat base에 여러분이 톰캣을 설치한 경로를 마찬가지로 넣어 줍니다.


이제 저기 있는 고양이 모양으로 이클립스에서 쉽게 톰캣 서버를 끄고 켤 수 있게 되었습니다.
이렇게 여러분의 컴퓨터에 JSP를 이용한 웹 프로그래밍 환경 구축과 이클립스라는 프로그래밍 툴과의 연동 과정이 마무리 되었습니다. 앞으로 JSP에 대해서 하나하나 포스팅을 해나가면서 공부도 하겠습니다. ^^


JSP를 공부하기 위한 책 추천!!




더 열심히 공부합시다. !!!




 이번 학기에 자바(JAVA)를 이용해서 검색 엔진 만드는 과제가 있어서 자바(Java)를 설치 했습니다. ( 포맷 한뒤에 설치를 안 했더라구요. ) 겸사 겸사 JAVA 개발 환경 설치과정을 하나하나 기록해 두었습니다. 일단 설치파일을 다운 받아야 합니다. 설치 파일은 썬 홈페이지에서 다운 받을 수 있습니다.

http://java.sun.com/



위 링크를 따라가면 위와 같은 홈페이지가 뜹니다. ( 이 포스트를 포스팅 할 때에는 이 모습이었습니다. 시간이 지나면서 업데이트가 되니 홈페이지가 달라도 뭐 상관은 없겠지요. ^^ ) 자바를 이용해서 개발을 할 때, 필요한 여러 제품들을 다운로드 받을 수 있습니다.



 Download 라는 메뉴의 Java SE 메뉴를 선택해서 들어갑니다. 그러면 Java SE 환경에 대한 페이지가 나옵니다. 여러가지 버젼이 있는데, 다른 것이 필요하시면 다운로드 받아서 설치하시면 됩니다.



JDK 6 Update 19 라는 항목의 버튼을 누릅니다. ( 나중에 더 높은 버전이 등록이 되면 그것을 선택하시면 됩니다. 제가 다운 받을 때에는 JDK 6 의 19번째 버전이군요. )




Download 버튼( 빨간색 )을 눌러 다운로드를 진행합니다. 윈도우가 기본적으로 선택되어 있네요. 만약 VM 웨어 등을 이용해 리눅스 환경에 설치를 하고 싶으시면, Platform 이라는 항목을 선택해서 해당 운영체제를 선택해주시면 됩니다. 윈도우를 쓰시는 분은 그대로 진행하시면 됩니다.



  전에는 못 보던 계정에 대한 언급이 나오네요. 밑에 조그맣게 링크되어 있는 "Skip this Step" 을 눌러 지나갑니다. 뭐 가입을 원하시는 분은 가입을 하시면 좋습니다. JAVA에 대한 뉴스도 메일로 보내주고, 다른 서비스들도 이용할 수 있기 때문이죠. 저는 가입 안했습니다. ( 귀찮아서 ㅎㅎ )



 파일을 저장하시면 됩니다. ( 저는 웹브라우저를 파이어폭스를 쓰기 때문에 이런 화면이 나옵니다. ) 익스플로러를 쓰시는 분들은 익숙한 창이 뜰 겁니다. ^^



 다운받은 파일을 실행해서 설치를 진행합니다.



별 다른 설정은 없고 그냥 다음을 계속 눌러서 진행을 하시면 됩니다. 다음 -> 다음 -> 다음 -> 다음 을 연타합니다. ^^ 세세한 설정은 자세히 읽어보시면 어렵지 않게 아실 수 있는 정도입니다. 이제 여러분의 컴퓨터에 자바 개발 환경이 설치되어 있습니다.

 그러면 환경 변수( Path )를 설정해 보도록 하겠습니다.

내 컴퓨터에서 우클릭을 한뒤 -> 속성을 들어갑니다. 그런 다음 고급 탭을 들어갑니다.





 환경변수 버튼을 클릭합니다.




 그러면 위와 같은 창이 뜨게됩니다. 사용자 변수와 시스템 변수 부분이 있습니다. 사용자 변수부분은 그대로 두고 시스템 변수부분을 손 보도록 하겠습니다. 시스템 변수 부분의 새로만들기 버튼을 클릭합니다.




그럼 다음과 같이 입력 창이 뜨게 됩니다.




변수 이름(N) 에는 "JAVA_HOME" 이라는 이름을 써 넣습니다. 그리고 변수 값(Y)에는 자바를 설치한 폴더 경로를 써 넣습니다. 기본 설정( 다음을 연타했다면 )을 했다면 다음과 같이 써 넣으시면 됩니다.


확인을 누르시면 다음과 같이 변수가 추가된것을 볼 수 있습니다.



 바로 밑에 Path라는 변수를 볼 수 있습니다. Path 변수를 선택하고 편집 버튼을 누릅니다.



위와 같은 시스템 변수 편집 창이 뜹니다. 변수 값 입력 부분을 클릭하고  ;%JAVA_HOME%\bin;  을 추가해 넣습니다. ( 이 때 앞에 세미콜론 ( ; ) 을 넣어 주어야 합니다. 각각 값들이 세미콜론에 의해서 구분되기 때문이죠.




 입력이 완료되면 위와 같은 모습일 것입니다. 확인을 눌러서 적용을 합니다. 확인을 계속 눌러서 적용을 합니다. 이제 여러분의 컴퓨터에 자바 개발 환경이 설치되었습니다.

 그러면 확인 작업을 해보도록 하겠습니다. [시작] -> [실행] 을 눌러서 cmd 라고 입력합니다.




그러면 검은색의 콘솔화면이 뜹니다.
콘솔 화면에 다음을 입력합니다.

C:\Document and Settings\Administrator> javac

그러면 다음과 같이 뜰겁니다.


자바 컴파일러에 대한 정보들이 뜨게 됩니다. 위 화면이 뜨면 성공적으로 설치가 완료 된 것입니다. 설치된 자바 버전을 보도록 하겠습니다.

C:\Document and Settings\Administrator> java -version

 위 명령어를 입력합니다.



이 처럼 나오면 성공적으로 자바 환경이 설치가 된 것입니다. 이제 Edit Plus 나 Eclipse 를 설치하면 됩니다.



+ Recent posts