close

Trust Me!! Trust You!!


  • Blog
  • Local Log
  • Tag Cloud
  • Key Log
  • Guestbook
  • RSS Feed
  • Write a Post
  • Admin

혹시 블로그 스킨이 깨져 보이시나요? 최신버전의 Internet Explorer(Windows용), Opera, Firefox를 사용해보세요.

Found 1 article(s) for '이클립스 루트'.

  1. 2015/07/23 이클립스로 개발시 WebContent 디렉토리의 설정

이클립스로 개발시 WebContent 디렉토리의 설정

웹 프로그래밍
2015/07/23 12:01
 

톰캣의 디렉토리 구조
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 파일의 스크롤을 맨 아래로 내리면 다음과 같은 부분이 있습니다.
view plaincopy to clipboardprint?
        <!-- 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의 내용은 아래와 같습니다.
view plaincopy to clipboardprint?
        <!-- 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상에 숨겨지게 됩니다.

이제... 즐깁시다~!!!
[출처] [JSP] 이클립스로 개발시 WebContent 디렉토리의 설정|작성자 빽몽끼

이올린에 북마크하기
TAG ROOT, 루트디렉토리, 이클립스, 이클립스 루트, 이클립스 루트 디렉토리, 톰켓
No received trackback. / No comment.

Trackback Address :: http://viper150.cafe24.com/trackback/257

You can also say.

Prev 1 Next
블로그 이미지
이것저것 불펌금지도 퍼다가 담습니다. 외부에 비공개된 페이지 입니다. By. 어른왕자

카테고리

  • 전체 (298)
    • 사는 이야기 (115)
    • 웹 프로그래밍 (102)
    • App 프로그래밍 (22)
    • IT 뉴스&기타 (22)
    • 박한별 (4)
    • 역사&기타지식 (9)

태그목록

  • 유머
  • 저장프로시저
  • 드릴
  • 보배드림
  • ROOT
  • GET
  • iops
  • 픽슬러
  • 아이유
  • tiles
  • 수원성
  • 실험
  • IU
  • 우문술
  • MenuBar
  • DB2 procedure
  • 변화구
  • 교육
  • C
  • 웃김
  • 울트라에디터
  • 갤럭시
  • 홍수아
  • 스프링 인증
  • 한예슬
  • spring
  • Windows
  • 수나라
  • 소시
  • 이중성향

최근에 올라온 글

  • 보험사의 조정신청 대응방법.
  • 어느 천재의 앞선 시선.
  • [병맛더빙] 누구게..... (1)
  • 韓경제 `회색 코뿔소` 상황...
  • SVN Connector 설치 URL.
  • 군대를 가지 않는 서울대생.
  • “운은 하늘의 귀여움 받는...
  • 목장에서 알바하다가 캐스...
  • [펌]믿고 거르는 관상.
  • 하루에 1세트씩 하면 좋다...

최근에 달린 댓글

  • <p align="center"><a href="h... 라임애드 02/14
  • <div style="OVERFLOW: hidden... 고사니 02/12
  • <p align="center"><a href="h... 라임정보 02/07
  • <p><img src="https://i.imgur... 브레드 01/22
  • <p><img src="https://i.imgur... 브레드 01/22

최근에 받은 트랙백

  • read this post from Bookie 7. read this post from Bookie 7 02/28
  • công ty may đồng phục. công ty may đồng phục 01/08
  • Israelnightclub`s recent blo... Israelnightclub`s recent blo.. 01/06
  • Suggested Browsing. Suggested Browsing 01/06
  • similar site. similar site 01/06

글 보관함

  • 2019/03 (1)
  • 2018/12 (1)
  • 2018/09 (1)
  • 2018/08 (1)
  • 2018/02 (1)

달력

«   2021/03   »
일 월 화 수 목 금 토
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

링크

  • Total : 263713
  • Today : 45
  • Yesterday : 31
Tattertools
Eolin
rss

어른왕자's blog is powered byTattertools1.1.2.2 : Animato