안드로이드 작업을 하다보면 레이아웃 XML파일이 아래 화면과 같이 design탭과 소스탭으로 표시되면서 레이아웃 작성화면이 보이지 않는 경우가 있습니다.

이클립스에는 원래 XML편집기가 여러개가 있는데, 간혹다가 이클립스가 Android Layout XML Editor로 열어야할 파일을 이클립스의 기본 XML 편집기로 열게 되는 경우입니다.




이 문제를 해결하려면 편집을 원하는 XML파일을 마우스 우클릭하여 Open With > Android Layout Editor를 선택하시면 됩니다.


저작자 표시 비영리 동일 조건 변경 허락

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by ☞호야☜

톰캣의 디렉토리 구조

Apache Tomcat를 설치해서 이클립스 없이 (에디트 플러스나 울트라 에디트등을 사용하여) 개발시 톰켓 안에서 웹 프로그램(JSP소스)들이 위치하는 경로는 기본적으로 /톰캣설치경로/webapps 디렉토리 입니다. 이 디렉토리안에 있는 ROOT라는 경로가 http://localhost:기본포트(8080) 의 주소와 맵핑됩니다.

예를 들어서 /Applications/Apache Tomcar v7.0/webapps/ROOT/helloJSP.jsp 라는 파일이 존재한다면 이 파일에 대해서 웹상에서 접근하기 위한 주소는 http://localhost:8080/helloJSP.jsp 경로가 됩니다. 

만약 ROOT디렉토리 햐위에 다른 디렉토리가 존재한다면 웹 주소에서는 슬래쉬(/)로 구분하여 디렉토리 이름을 명시해 주면 됩니다.

다시 한번 예를 들어본다면 /Applications/Apache Tomcat v7.0/webapps/ROOT/HelloJSP/index.jsp 라는 파일이 있을 경우 이 파일에 대한 웹상에서의 접근 주소는 http://localhost:8080/HelloJSP/index.jsp 가 됩니다. 

다른 경우도 있습니다. /톰캣설치경로/webapps/MyApp/index.jsp 상에 위치한 파일도 웹에서 접근할 때는 http://localhost:8080/MyApp/index.jsp 의 주소가 됩니다.

디렉토리와 주소간의 관계를 정리한다면 다음의 표와 같습니다.

실제 디렉토리 웹 접근 경로 
톰캣 설치 경로/webapps/ROOT  http://localhost:8080 
톰캣 설치 경로/webapps/ROOT/myapp  http://localhost:8080/myapp 
톰켓 설치 경로/webapps/myapp  http://localhost:8080/myapp 
톰켓 설치 경로/webapps/ROOT/myapp/test http://localhost:8080/myapp/test 
톰켓 설치 경로/webapps/myapp/test http://localhost:8080/myapp/test

위의 표를 보면 두번째 경우와 세번째 경우의 웹 접근 경로가 같은 것을 확인할 수 있습니다.

톰캣은 웹 주소상에서 포트번호 뒤에 특정 디렉토리의 이름이 주어지면 우선 /webapps 디렉토리 안에 동일한 이름의 폴더가 존재하는지 찾습니다. 만약 없다면 ROOT 디렉토리 안에 동일한 이름의 폴더가 있는지를 찾습니다.

webapps 디렉토리 안의 디렉토리들은 모두 Context라고 불리는 단위로서 각각 독립적인 웹 어플리케이션 단위입니다. 이 Context 안에 위치하는 디렉토리들은 단순한 디렉토리 입니다.



이클립스를 통한 프로젝트의 디렉토리 구조

앞에서 살펴본 바로면 Context로 지정된 디렉토리 안에 위치한 JSP파일들이 웹 브라우저상에 노출이 됩니다. 하지만 이클립스를 통해서 프로젝트를 진행하게 되면 Context로 지정된 디렉토리 안에 특수한 디렉토리가 하나 더 생성되는 것을 볼 수 있습니다.

바로 WebContent라는 디렉토리입니다. 이클립스를 통해서 프로젝트를 진행하게 되면 이 디렉토리안에 JSP나 HTML파일들이 위치하게 됩니다.

 

문제는 이클립스의 Run버튼을 통해서 웹 어플리케이션을 실행하게 되면 실제 웹 브라우저에 노출되는 경로는 이 WebContent라는 디렉토리를 숨긴다는 점입니다.

예를 들어서 /톰캣디렉토리/webapps/HelloJSP/WebContent/index.jsp 라는 파일이 있을 경우 이 파일이 이클립스를 통해서 실행하게 되면 http://localhost:8080/HelloJSP/index.jsp 라는 주소로 실행이 되게 됩니다.

하지만 이클립스를 통해서가 아니라 그냥 톰캣만을 단독으로 구동시켜서 프로그램을 실행시켜 보면 WebContent라는 디렉토리가 숨겨지지 않게 됩니다. 즉 http://localhost:8080/HelloJSP/WebContent/index.jsp 의 경로로 실행이 되게 됩니다.

이런 현상은 이클립스가 톰켓을 구동할 때, 특정한 환경설정값을 지정하여 주기 때문입니다.
이클립스를 통한 실행이 아니라 직접 톰캣을 통하여 실행할 때는 무척 번거로운 작업이 됩니다.

이클립스상에서의 실행과 톰캣상에서의 직접 실행을 모두 동일하게 통일하기 위해서는 톰캣에 이클립스와 동일한 환경설정을 추가해 주면 됩니다.

톰캣이 설치된 디렉토리 안의 conf 디렉토리를 확인하면 server.xml파일이 있습니다. 이 파일을 텍스트 에디터로 엽니다.

server.xml 파일의 스크롤을 맨 아래로 내리면 다음과 같은 부분이 있습니다.
        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
               
      </Host>
    </Engine>
  </Service>
</Server>

이 파일의 끝에서 다섯번째 라인인 </Host>전 라인에 다음의 XML 구문을 추가합니다.
<Context path="/프로젝트명" docBase="프로젝트명/WebContent" reloadable="true"></Context>

새로운 구문이 추가된 후에는 톰캣을 재실행 합니다. HelloJSP라는 프로젝트에 대한 새로운 구문이 추가된 server.xml의 내용은 아래와 같습니다.
        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
               
        <Context path="/HelloJSP" docBase="HelloJSP/WebContent" reloadable="true"></Context>
      </Host>
    </Engine>
  </Service>
</Server>

이 설정은 이클립스에 프로젝트가 추가될 때마다 넣어주어야 합니다.

이렇게 구문을 추가해 주고 난 후에는 이클립스를 통해서 프로젝트를 실행했을 경우와 이클립스 없이 직접 톰캣을 실행해서 접근한 경우 모두 동일한 경로로 웹 브라우저를 통해서 결과를 확인할 수 있습니다.

WebContent 디렉토리는 웹 URL상에 숨겨지게 됩니다.

이제... 즐깁시다~!!!



 
저작자 표시 비영리 동일 조건 변경 허락

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by ☞호야☜

이번 포스팅에서는 Mac OS기반에서의 JSP 개발환경 구축에 대해서 살펴보도록 하겠습니다.

윈도우 환경에서의 개발환경 구축에 대해서 살펴보실 분들은 아래의 포스팅을 참조하시기 바랍니다.

[JSP] Tomcat 7.x + Eclipse EE를 통한 JSP 개발환경 구축 (for Windows)


Mac의 경우 JDK는 OS에서 기본으로 지원하고 있기 때문에 별도로 설치할 필요가 없습니다. 만약 JDK가 설치되어 있지 않다 하더라도 JDK가 필요한 순간 OS가 알아서 업데이트를 받으므로 참 편리합니다.

그렇기 때문에 Mac에서의 개발환경 구축은 톰캣 설치, 이클립스 설치, 이클립스 환경설정 이렇게 세단계로 진행됩니다.


톰캣의 설치

우선은 맥에서 설치 가능한 톰캣을 다운로드 받아야 합니다. 톰캣은 http://tomcat.apache.org 에서 다운로드 받을 수 있습니다.
사이트에 접속한 후에 왼쪽 메뉴에서 Tomcat 7.0 링크를 통해서 다운로드 페이지로 이동합니다.





다운로드 페이지로 이동하게 되면 스크롤을 내려서 Binary Distributions > Core 항목 아래 있는 tar.gz 형식을 다운로드 받습니다. UNIX 계열 운영체제에서 사용하는 압축 형식입니다. 맥에서는 별다른 설치 패키지가 아니라 단순히 압축된 파일만 받아 압축을 풀어주면 됩니다.





저는 다운로드 받아서 압축을 풀어둔 폴더를 Finder를 열어서 "응용 프로그램"안에 넣었습니다. 저렇게 압축을 풀어두니 실제 경로는 /Applications/apache-tomcat-7.0.23 이 되었습니다.






이클립스의 설치

윈도우용 이클립스와 마찬가지로 Mac에서도 이클립스는 단순히 압축만 풀어주면 설치가 완료됩니다. http://www.eclipse.org 로 접속하여 "Download"메뉴를 클릭합니다.
다운로드 페이지로 이동을 한 후에는 화면 중간쯤에 위치한 "Eclipse IDE for Java EE Developers"항목의 우측에 있는 링크를 클릭합니다. OS의 상태에 따라서 32bit 버전과 64bit 버전을 선택하시면 됩니다. 저는 32bit버전을 선택했습니다.





다운로드 받을 버전을 선택하여 페이지가 이동되면 아래 화면을 참고하셔서 다운로드 링크를 클릭하면 압축파일이 다운로드 됩니다.





이번에도 다운로드 받은 파일을 "Finder"를 열어서 "응용 프로그램"안에 압축을 풀어 넣었습니다.






이클립스 환경설정

이클립스를 처음으로 실행하면 아래 화면과 같이 작업한 소스가 저장되기 위한 Worksapce라는 경로를 묻습니다. 이 경로를 톰캣이 설치된 디렉토리 (/Applications/apache-tomcat-7.0.23) 로 지정하여 줍니다. 만약 이 화면을 그냥 지나쳤다면 이클립스의 메뉴에서 "File > Switch Workspace"를 통해서 재설정 할 수 있습니다.





이제 이클립스와 톰캣의 연결을 위한 환경설정을 진행해야 합니다. 이클립스의 메뉴에서 "Eclipse > 환경설정"을 선택하여 환경설정 페이지를 엽니다.





환경설정 페이지가 열리면 왼쪽의 트리에서 "Server > Runtime Environments"항목을 선택한 후에 우측의 "Add"튼을 클릭합니다.





"Add"버튼을 눌러서 페이지가 열리면 "Apache Tomcat v7.0"항목을 선택합니다. 만약 설치된 톰캣의 버전이 다를 경우에는 상황에 맞는 버전을 선택하여 줍니다.
선택이 완료되면 "Next"버튼을 누릅니다.





다음단계로 넘어가게 되면, 우측의 "Browse"버튼을 눌러서 톰캣이 설치되어 있는 경로를 지정하여 준 후에 "Finish"버튼을 눌러줍니다.





"Finish"버튼을 눌러 창이 닫히면 원래의 환경 설정 페이지로 되돌아 오는데, "OK"를 눌러서 창을 닫습니다.





이클립스의 메인창의 하단부에 보면 "Servers"라는 탭이 있습니다. 이 탭으로 이동한 후에 화면의 빈 공간에서 마우스를 우클릭하여 "New > Server"항목을 선택합니다.





"New Server"페이지에서 추가할 서버의 종류를  Tomcat v7.0 Server로 지정하고 "Server runtime environment"항목에서 앞에서 추가했던 "Apache Tomcat v7.0"을 지정하여 준 후에 "Finish"버튼을 눌러줍니다.





이제 모든 환경설정이 완료되었습니다. 이후 프로젝트의 진행에 대해서는 Mac환경과 Windows 환경에 따른 차이점은 없습니다. 첫번째 페이지를 테스트해 보기 위한 Hello World 예제는 다음의 포스팅을 참조하시기 바랍니다.

[JSP] Hello JSP


이제 즐깁시다!!!



저작자 표시 비영리 동일 조건 변경 허락

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by ☞호야☜

이클립스를 사용해서 JSP를 개발하는 경우, 기본상태에서는 이클립스에 내장된 웹 브라우저가 구동됩니다. 경우에 따라서는 이 상태가 매우 편리한 환경일 수 있으나 어떤 경우에는 오히려 IE나 FF, Chrome등과 같이 운영체제에 설치되어 있는 시스템 기본 브라우저를 통해서 직접 실행하는 것이 더 편할 수 있습니다. (아마도 개인취향적인 문제가 더 클 것 같습니다.)

이클립스의 "Window > Web Browser"메뉴의 하위에 보면 이클립스를 통해서 구동할 웹 브라우저들의 목록이 나타납니다. 기본값인 "0 Internal Web Browser"를 선택하면 이클립스를 통해서 결과가 확인됩니다. 이 값을 다른 값으로 변경하면 선택된 값에 따라서 웹 브라우저가 구동됩니다.

저는 "1 Default system web browser"를 선택하여 운영체제에 설정되어 있는 기본 웹 브라우저인 IE로 결과를 확인하도록 설정을 변경했습니다.




이제 즐깁시다~!!!

저작자 표시 비영리 동일 조건 변경 허락

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by ☞호야☜

기본 Java와 Android만을 강의하다가 1년 반만에 JSP의 강의를 맡게 되었습니다. 기존의 JSP강의에서는 톰켓과 에디트플러스를 사용하여서 강의를 진행했었는데, 이번에는 이클립스를 사용해 보고자 개발환경 구축에 대한 포스팅을 새롭게 합니다.



JDK의 설치와 자바 환경변수 설정

우선 JSP역시 자바언어를 기반으로 구동되는 플렛폼이기 때문에 JDK의 설치와 기본 설정은 필수 입니다. JDK의 설치 및 설정에 관한 내용은 다음의 포스팅을 참조하시기 바랍니다.
[JAVA] 개발환경 준비하기 - JDK의 설치
 


Tomcat의 다운로드 및 설치

JDK의 설정이 끝나면, 그 다음은 JSP를 구동시킬 웹 서버 및 Servlet컨테이너인 톰켓을 설치해야 합니다.


#01. 톰켓의 다운로드

톰켓의 다운로드는 http://tomcat.apache.org 에서 다운받으실 수 있습니다. 사이트에 접속한 후에, 왼쪽 메뉴에서 Download > Tomcat 7.0 을 클릭합니다.





페이지가 이동된 후에는 (윈도우의 경우) 페이지의 스크롤을 이동하여 최신 버전대의 항목중에 "Windows Service Installer" 항목을 통해서 설치 패키지 파일을 다운로드 받습니다.


 


#02. 톰켓의 설치

톰켓의 설치는 (윈도우답게) 무척이나 간결하고 쉽습니다. 우선 다운로드 받은 Installer 파일을 더블클릭하여 설치를 시작합니다.





이용약관이 나오면 가볍게 "Agree"를 선택하면 됩니다.





설치할 항목을 선택하는 창이 나옵니다. 저는 기본값대로만 설치했습니다.





설치 과정중에 톰켓 서버의 기본 설정을 묻는 화면이 나타납니다.
우선 HTTP/1.1 Connector Port 라는 항목에 8080이라는 값이 들어 있는 것에 주목하세요.
이 포트번호가 웹 서비스를 구동시킬 포트입니다.
80포트를 사용하면 URL에 포트번호를 명시할 필요가 없어지지만, 그 외의 포트번호는 URL에 포트번호를 명시해 주어야 합니다.

그 외에 서버 관리자를 생성하기 위한 Tomcat Administrator Login 항목의 User Name과 Password 항목이 있습니다. 관리자 계정을 만들지 않더라도 설치는 가능합니다. 하지만 서버 관리를 환경설정 파일이 아닌 GUI 환경에서 수행하기 위해서는 가급적 지정해 주는 것이 좋습니다.





JDK가 설치되어 있다면, 이 화면에서 설치된 JDK의 경로가 자동으로 보여집니다. 만약 JDK가 설치되어 있음에도 불구하고 경로가 나타나지 않는다면 찾아보기를 사용하여 JDK의 경로를 지정해 줍니다. (사실 톰켓은 JDK가 설치되어 있지 않으면 설치 자체가 불가능 합니다.)





최종적으로 톰켓이 설치될 경로를 지정해 주고 "Next"를 누릅니다.
저는 기본값대로 설치했습니다.





설치가 완료되면 Finish를 눌러 마무리 합니다. 설치가 완료되면 처음 서버는 중지된 상태입니다. 그리고 서버의 가동 역시 매번 수동으로 진행해 주어야 합니다. 등록된 트레이 아이콘을 통해서 자동 시작으로 설정할 수 있지만 이클립스를 통해서 구동되지 않고 직접 구동할 경우 이클립스에서 톰켓을 제어하지 못하게 되기 때문에 시작상태에 대한 설정은 건드리지 않고 톰켓 설치를 마무리 합니다.





#03. 톰켓의 환경변수 설정

톰켓의 설치가 완료되면 톰켓의 설치 경로에 대한 환경변수를 설정해 주어야 합니다.

우선 C드라이브의 Program Files 폴더안에 설치된 톰켓의 경로를 확인합니다.
여기서는 C:\Program Files\Apache Software Foundation\Tomcat 7.0 경로에 설치되어 있습니다.





윈도우의 내 컴퓨터를 마우스로 우클릭하여 맨 밑의 속성을 클릭한 후에 왼쪽 메뉴에서 "고급 시스템 설정"을 선택합니다. (윈도우 XP의 경우 내 컴퓨터를 마우스 우클릭하여 속성을 선택한 후에 다음 단계로 넘어가시면 됩니다.)





시스템 속성창의 "고급" 탭으로 이동한 후에 화면에서 보이는 "환경변수" 버튼을 누릅니다.





"환경 변수"창이 열리면 화면 하단의 "새로 만들기"버튼을 누릅니다.





"환경변수"의 새로 만들기 창이 나타나면 이름과 값에 다음과 같이 입력합니다. 입력이 완료되면 모든 창을 확인 버튼을 눌러서 빠져 나옵니다.

  • 변수 이름: CATALINA_HOME
  • 변수 값 : 앞에서 확인한 톰켓의 설치 경로 (C:\Program Files\Apache Software Foundation\Tomcat 7.0)






이클립스의 다운로드와 설치

이클립스는 JSP소스를 작업하기 위한 IDE 개발툴 입니다. Java계열 플렛폼을 다루는데 매우 편리한 기능들을 다양하게 제공하고 있어서 자바 프로그래밍의 대표적인 툴로 자리잡고 있습니다.


#01. 이클립스의 다운로드

이클립스는 http://www.eclipse.org/ 사이트에서 다운로드 받을 수 있습니다. 사이트에 접속한 후에 download 메뉴를 클릭합니다.





다운로드 페이지로 이동한 후에 "Eclipse IDE for Java EE Developers"항목에 대해서 설치된 운영체제에 맞는 버전을 선택합니다. 여기서는 Windows 32 Bit 버전을 선택했습니다.





다운로드 받을 서버를 선택하여 다운로드 받습니다.





#02. 이클립스의 설치

이클립스는 설치 패키지가 아닌 압축파일의 형태로 제공됩니다. 다운로드 받은 압축파일을 적당한 경로에 압축을 풀면 됩니다. 다만 이클립스의 경로에 한글이나 공백이 있는 경우에는 실행시에 문제가 발생하는 경우가 간혹 있습니다. 그렇기 때문에 이클립스를 바탕화면과 같이 한글이나 공백이 포함된 경로에 압축을 푸는 것은 권장하지 않습니다.

여기서는 C드라이브에 압축을 풀었습니다.




이클립스의 Workspace 설정

이클립스를 처음 실행시키면 소스파일을 작성할 경로를 지정하기 위한 Worksapce를 확인하기 위해서 다음과 같은 창이 나타납니다.





이 창에서 Workspace의 경로를 톰켓이 설치된 디렉토리 안의 webapps로 지정하여 줍니다.




만약, workspace를 지정하는 과정을 그냥 지나쳐서 설정하지 못한 상태라면, 이클립스에서 "File > Switch Workspace" 메뉴를 통해서 다시 지정해 줄 수 있습니다.




이클립스의 톰켓 환경 설정

이클립스와 톰켓은 각각 독립된 프로그램입니다. JSP는 톰켓에 의해서 실행되기 때문에 JSP의 소스를 작성하는 프로그램인 이클립스에게 톰켓의 경로를 알려줄 필요가 있습니다. 이클립스에 대한 톰켓의 환경설정은 다음의 절차에 따라서 진행됩니다.


이클립스에서 "Window > Preferences" 메뉴를 선택합니다. 환경설정 창이 나타나면, 왼쪽의 트리에서 "Server > Runtime Environments" 항목을 선택한 후에 화면 우측의 "Add"버튼을 클릭합니다.





"New Server Runtime Environment"창이 나타나면 화면 중간에서 "Apache Tomcat v7.0"을 선택하고 "Next"버튼을 누릅니다. 만약 설치되어 있는 톰켓이 다른 버전이라면 설치된 버전에 맞는 항목을 선택해 줍니다.





화면 우측의 "Browse"버튼을 클릭하여 설치된 톰켓의 경로를 지정해 준 후에 "Finish"버튼을 클릭합니다.
(C:\Program Files\Apache Software Foundation\Tomcat 7.0)





"OK"버튼을 눌러서 창을 닫습니다.





이클립스 창의 하단부에서 "Server"라는 탭으로 이동합니다. 이 곳에 조금전에 등록한 Tomcat을 추가해 주어야 합니다. 탭 화면의 빈 공간에서 마우스를 우클릭하여 "New > Server"메뉴를 선택합니다.





"New Server"창이 나타나면 화면 중간에서 "Tomcat v7.0 Server"를 선택하고 하단의 "Server runtime enviromenets" 드롭다운에서 앞에서 등록한 "Apache Tomcat v7.0"을 선택해 준 후에 "Finish"버튼을 눌러서 빠져 나옵니다.





이제 즐깁시다~!!!



저작자 표시 비영리 동일 조건 변경 허락

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by ☞호야☜

이클립스에서는 기본적으로 소스 편집창에 줄번호가 표시되지 않습니다.

환경설정에서 아래 그림과 같이 줄번호 표시 옵션을 켜 줄 수 있습니다.


  • Windows -> Preferences -> General -> Editoers -> Text Editoers 선택
  • Show line numbers 체크



크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by ☞호야☜