본문 바로가기
JSP

2. 톰캣, 이클립스 설치

by McNal 2022. 3. 21.

프로그램 설치


IDE로는 eclips를 사용하기로 하였고, WAS로는 Tomcat을 사용하기로 하였다.

설치에 대해서는 큰 어려움 없이 진행되었으므로 간단한 설명으로만 진행하려한다.

이후의 진행과정을 진행하기위해 폴더를 하나 생성하고 JSP를 진행하면서 이 폴더내부에서 진행할 예정이다.

Tomcat 설치 & 설정


헤놀로지에 Tomcat을 설치하고 운용할 계획이지만 pc에서 테스트를 진행하고 업로드하기 위해 pc에도 설치를 진행하였다.

먼저 pc에 설치를 진행하였다.

  1. Tomcat(https://tomcat.apache.org/)에 접속하여 최신버전인 Tomcat10을 설치해주었다.
  2. pc설치는 서비스 목적이 아니기에 zip파일로 다운받았다.
  3. 폴더에 압축해제를 진행하였다.

이후 헤놀로지에 설치를 진행하였다.

  1. docker에서 Tomcat:latest이미지를 받아서 설치를 진행하였다.
  2. pc에서의 기본설정인 8080포트로 연결해주었다.
  3. 헤놀로지에서의 관리를 편하게 하기위해 DSM에 폴더를 생성하고 마운트해주었다.

매니저 권한을 설정할 필요는 없지만 후일 사용가능할수도 있을거라 생각되어 설정해주었다.

  1. Tomcat/conf/tomcat-users.xml을 notepad를 이용하여 연다.
  2. <tomcat-users> 태그안에 주석처리되어있는 부분이 있는데 그것을 사용하거나 새로 아래의 내용을 입력한다.
  <role rolename="admin"/>
  <role rolename="admin-gui"/>
  <role rolename="manager"/> 
  <role rolename="manager-gui"/> 
  <role rolename="manager-script"/>
  <role rolename="manager-jmx"/> <role rolename="manager-status"/>
  <user username="사용자" password="비번" roles="manager-gui,manager-script,manager-jmx,manager-status,manager,admin,admin-gui"/>`
  1. 이후 ~/manager/로 접속하여 지정한 사용자/비번 을 입력하면 관리자 페이지를 사용할 수 있다.
  2. pc에서는 local에서 접속하기 때문에 정상작동하지만 헤놀로지에서는 local에서의 접속이 아니기 때문에 webapps/manager/META-INF/context.xml을 수정해야한다.
  <Context antiResourceLocking="false" privileged="true" > 
    <!-- 127. 으로 시작하는 IP를 허용한다. 즉 local만 허용한다. 원래는 이부분이 되어있지만 이를 주석처리하였다.--> 
    <!-- 
      <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> --> 
    <!-- //이하의 방법중 하나를 사용해도 되지만 문제없이 작동되기에 위의 local허용을 주석처리만 하였다. 
      // 전체접속을 허용한다 
      <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow=".*" /> 
      // 전체접속을 허용한다. 
      <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="\d+\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> 
      --> 
    <Manager sessionAttributeValueClassNameFilter="java\.lang\.?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/> 
  </Context>

eclips 설치 & 설정


  1. 이클립스(https://www.eclipse.org)에 접속하여 download로 들어간다.
  2. download package 를 선택하여 Eclipse IDE for Enterprise Java and Web Developers를 선택해 다운로드한다.
  3. 다운로드한 압축파일을 압축해제한다. (사용한버전 : 2021-12)
  4. workspace또한 동일 폴더에 만들었다.
  5. 기본설정에서 Window - Preferences - General - Appearance - Colors and Fonts 에서 폰트 크기를 16으로 변경만 해주었다.
  6. File - New - Dynamic Web Project를 선택하고 Project_name을 지정하고 Target runtime에서 Apache Tomcat v10을 선택하고 dirctory를 압축해제한 폴더로 선택해주었다.
  7. src/main/java 로 변경된 Java Resources/src 내부에 Package (com.study.web) 를 지정하여 class를 생성하였다.

추가설정 내용, 설명


Tomcat


  1. tomcat/conf/server.xml 에 다음과같이 Context를 지정해줄수있다. 하지만 서버를 재실행해야 설정되기에 지양한다.
  <Host name="localhost" appBase="webapps"
        unpackWARs="true" autoDeploy="true"> 
    <!-- Root 폴더는 기본으로 사용되기때문에 따로 경로없이 "http://localhost:8080/" 를 치면 Root 폴더를 읽는다. 
  그리고 경로를 입력하면 Root 내부에 경로를 찾기때문에 폴더를 따로따로 관리하게될 경우 불편하기 때문에 context를 사용한다. 
  --> 
    <Context path="원하는 웹페이지경로(http://localhost:8080/경로/)" 
             docBase="파일이 들어있는 경로, 상대경로 or 절대경로" 
             privileged="true"/> 
    <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>
  1. 모든 웹프로젝트는 webapps안에 작성하고 각각의 폴더내부에 META-INF/context.xml파일을 만들어 Context를 설정한다.
  2. 매번작성하기 힘드니 /manager/META-INF/context.xml을 재사용할 계획이다.
  3. ROOT/WEB-INF/web.xml또한 재사용할 계획이다. 필요한지는 이후에 학습을 진행하면서 알게될거같다.

eclipse


추가


마크다운으로 문서를 작성하는데 줄바꿈적용이 안된다. 심지어 한번 수정하고나면 기본모드로 돌아가는데 코드박스, 줄바꿈 등이 변한다. 따로 저장을 해야할지 고민이다.

'JSP' 카테고리의 다른 글

4. get, post  (0) 2022.03.22
3. Servlet작성  (0) 2022.03.21
1. 공부의 시작  (0) 2022.03.20