본문 바로가기
my_lesson/_Linux

Linux - Ubuntu 서버를 설치하고 세팅해야 할것들[10] : Eclipse for JSP

by boolean 2016. 11. 26.
728x90

Linux - Ubuntu 서버를 설치하고 세팅해야 할것들[8] : Eclipse for JSP

윈도우에서 이클립스와 톰캣을 설정하는 것은 매우 편리한데(주관적임)...

우분투에서는 약간 불편합니다. 추가적인 약간의 작업이 필요한데, 외국 사이트들을 참고해서 간단하게 정리하면 아래와 같아요.


1. 불편함은 어디서 오는가?..


일단 우분투에서 Tomcat을 설치할 때 아마도 아래와 같이 apt를 사용하는 경우가 일반적이죠. 


apt-get install tomcat7


그럼 설치가 아래와 같이 진행됩니다.


tomcat home: /usr/share/tomcat7

tomcat conf: /var/lib/tomat7/conf -----(link)----- /etc/tomcat7

tomcat log: /var/log/tomcat7

tomcat root directory: /var/lib/tomcat7 


여러군데에 tomcat과 관련된 파일들과 디렉토리가 존재한다는 것입니다.


반면 이클립스에서 톰캣 서버를 생성하려고 하면 Tomcat installation directory를 물어보는데요. 아래 그림과 같이 말이죠.

/usr/share/tomcat7을 적어주면 서버를 생성할 수 있는데요.

여기서 문제가 발생합니다. 서버를 생성하려고하는데 conf 파일들을 참고해서 서버를 생성해야하는데 

/usr/share/tomcat7에는 conf 폴더가 없거든요. 그건 /var/lib/tomcat7/conf에 존재하거든요.

이게 문제입니다 ㅠ 


2. 해결방법 


해결하는 방법은 아래와 같아요.


01) 먼저 tomcat home으로 이동합니다.


     cd /usr/share/tomcat7


02) 관련 파일 및 conf 폴더를 심볼릭 링크로 걸어줍니다. (root 권한)


     ln -s /var/lib/tomcat7/conf conf

     ln -s /etc/tomcat7/policy.d/03catalina.policy conf/catalina.policy

     ln -s /var/log/tomcat7 log


03) conf 파일들이 원래는 root 소유이니깐 이클립스에서 읽을 수 있게 권한설정을 변경합니다. (root 권한)


     chmod -R 777 /usr/share/tomcat7/conf


04) /usr/share/tomcat7 폴더로 이동해서 심볼릭 링크를 걸어줍니다. (eclipse warning 제거를 위해서) (root 권한)


cd /usr/share/tomcat7

ln -s /var/lib/tomcat7/common common

ln -s /var/lib/tomcat7/server server

ln -s /var/lib/tomcat7/shared shared


3. 추가 내용


tomcat이 리눅스 시작할 때 자동으로 실행된 경우에는, root 권한에서 아래 명령어를 통해서 중지해주세요.


service tomcat7 stop


이클립스에서 Server Name이 작성되지 않는다면, 아래 명령어를 통해서 파일 2개를 삭제해주세요.


cd .../..../eclipse_workspace_folder/.metadata/.plugins/org.eclipse.core.runtime/.settings

workspace가 /home/boolean/workspace 라면

cd /home/boolean/workspac/.metadata/.plugins/org.eclipse.core.runtime/.settings

.metadata가 안보인다면 ls -al 해보자

rm org.eclipse.wst.server.core.prefs org.eclipse.jst.server.tomcat.core.prefs


삭제 후 이클립스 restart!!!


Eclipse로 JSP Project 만들기

1. 프로젝트 생성을 시작합니다.


 웹 사이트를 개발할 것이므로 메뉴엇 [File-New-Dynamic Web Project] 를 선택합니다.

  

2. 프로젝트 이름과 기본적인 설정을 선택합니다.


 * Project name : 프로젝트 이름을 입력합니다.

 * Project location : 프로젝트 파일을 생성하고 관리할 폴더 경로를 설정합니다. 특별한 사항이 없으면 Default 경로를 사용합니다.

  

3. 웹 프로젝트를 실제 구동하기 위한 웹 서버를 선택합니다.


  Target runtime 에서 우측의 [New Runtime] 버튼을 클릭합니다.

  그러면 아래와 같이 New Server Runtime Environment 다이얼로그 창이 뜹니다.

 

  사용하려는 서버를 트리 목록에서 선택합니다. 가장 많이 사용되는 Apache 의 톰캣 서버를 선택하도록 하겠습니다.

  바로 이전 강좌(http://ozit.tistory.com/243) 에서 Apache Tomcat 7.0 버전을 내려 받아 세팅하였으니, Apache Tomcat 7.0 을 선택하도록 하겠습니다.

 

 만약 이클립스 프로젝트가 처음이 아니라면(즉 기존에 이미 설정한 서버 환경이 있다면) Target runtime 선택 박스 목록에 표시됩니다. 기존과 동일한 서버를 이용하실 것이라면 목록에 있는 서버를 선택하시어 진행하셔도 됩니다.



Eclipse로 JSP File 만들기


1. JSP 파일을 생성합니다.


 

 바로 전 강좌에서 생성한 웹 프로젝트에서 WebConent 폴더를 마우스 우측 버튼 클릭하여 선택하면 컨텍스트 메뉴가 뜹니다. 여기서 [New-JSP File] 메뉴를 선택합니다. 

 파일 이름을 입력합니다. 여기서는 jspworld.jsp 이름으로 파일을 생성하였습니다.



2. JSP 파일 내용을 작성합니다.


 

좌측의 Project Explorer 탭에서 WebContent 폴더 하위에 jspworld.jsp 파일이 생성된 것을 확인하실 수 있습니다. 우측에는 jspworld.jsp 파일 내용이 표시되고 있습니다. 내용이 표시되지 않으면 좌측의 jspworld.jsp 파일을 더블클릭하여 선택하시면 내용을 보실 수 있습니다.

 



화면에 'Hello! JSP World!' 라는 메시지를 보여주려고 합니다.

그러면 <body></body> 영역에 넣어주면 되겠죠?^^ 내용을 <body> 태그 내에 입력하였습니다.

 

이제 파일을 저장합니다.



3. 프로젝트에 톰캣 서버를 연결하기


 

JSP 파일 작업이 간단히 끝났습니다. 이제 이 파일을 웹 페이지로 띄우려면 웹 서버가 필요합니다. 우리는 이전 강좌에서 이미 아파치 톰캣 서버를 사용하기 위한 준비작업을 모두 마쳤습니다.

 

이클립스 화면 하단의 탭들중에 Servers 탭을 선택합니다.

그리고 빈 영역에 커서를 두고, 마우스 우측 버튼을 클릭하면 뜨는 컨텍스트 메뉴에서 [New - Server]를 선택합니다.



이 프로젝트를 위해 사용할 서버를 선택하고 선택하고, 이 프로젝트에 연결된 서버가 무엇인지, 다른 프로젝트와 구분하기 위해 Server name 을 설정합니다.

 앞서 톰캣 서버 7.0을 다운받아서 세팅하였으므로, 'Tomcat v7.0 Server'를 선택하였습니다. Server name은 일단 기본 값으로 그대로 두었습니다. 원하시는 이름으로 바꾸시면 됩니다. [Finish] 버튼을 클릭합니다.



 새 서버가 생성되었습니다. Tomcat v7.0 Server at localhost 라는 이름 그대로 생성되었습니다.

 하지만 새 서버만 생성되었을 뿐, 이 서버를 사용할 프로젝트가 연결되지 않았습니다.



 해당 서버에 커서를 두고 마우스 우측 버튼을 클릭하면 뜨는 컨텍스트 메뉴에서 [Add and Remove...] 메뉴를 선택합니다.



 Add and Remove 다이얼로그에서는 이 서버를 통해서 실행시킬 프로젝트를 선택할 수 있습니다. 현재 우리는 이 이클립스에서 JSPTest 라는 프로젝트 밖에 생성하지 않았으므로 Available 영역에 JSPTest 프로젝트 하나만 표시됩니다.

 JSP Test 프로젝트를 선택하고, [Add] 버튼을 클릭합니다.



JSPTest 프로젝트가 Configured 목록으로 이동하였습니다. 이제 해당 서버는 JSPTest 프로젝트를 구동하기 위한 서버가 되었습니다.



4. 톰캣 서버 구동하여 웹 페이지 띄우기


 

 이제 서버를 띄우도록 하겠습니다.

 그에 앞서 수정된 파일들을 저장하고, 실제 작업 파일 내용과 서버에서 구동할 파일이 동기화될 수 있도록 Publish 메뉴를 선택합니다.

 (사실 이 과정은 불필요할 수도 있습니다. 왜냐하면 바로 다음에 실행할 Debug 메뉴를 선택하면 Debug 에 앞서서 Publish 를 해주기 때문입니다.)

 



 이제 Debug 메뉴를 선택하여 톰캣 서버를 실행시킵니다. Debug 모드를 선택한 이유는 개발 과정에서 디버깅을 위한 용도로 서버를 띄우는 동작입니다. 일반적인 서버 구동보다 Console 창에 뜨는 내용도 많고, 구동 시간도 조금 더 오래걸립니다.

 만약 디버깅을 위한 것이 아니라 단순히 페이지만을 띄우기 위한 것이라면 Debug 메뉴 바로 아래에 있는 Start 메뉴를 선택하여 톰캣을 실행하여도 무방합니다.

 즉 Debug와 Start 는 모두 톰캣 서버를 구동시켜 줍니다.



 서버가 정상적으로 구동되었다면 Servers 탭에 있는 Tomcat 서버 정보가 [Stopped, Synchronized] 에서 [Debugging, Synchronized] 로 바뀝니다.

 이제 웹 페이지가 정상적으로 뜨는지 한 번 확인해 볼까요?

 

 데스크탑에 있는 웹 브라우저(크롬이나 IE)를 실행시켜 다음 주소를 입력합니다.

 

 http://localhost:8080/JSPTest/jspworld.jsp

4. 톰캣 서버 홈 변경하기


cd /usr/local/tomcat/


편집모드로 server.xml 파일을 연다.


 

150       <Host name="localhost"  appBase="webapps"

151             unpackWARs="true" autoDeploy="true">

===== 중 략 ======

162         <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"

163                prefix="localhost_access_log" suffix=".txt"

164                pattern="%h %l %u %t &quot;%r&quot; %s %b" />

165 

166       </Host>


Host 부분의 파란 부분을 다음과 같이 수정한다.

150       <Host name="your host"  appBase="your_path ex) home/your_name/www"

151             unpackWARs="true" autoDeploy="true">

===== 중 략 ======

162         <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"

163                prefix="your host_access_log" suffix=".txt"

164                pattern="%h %l %u %t &quot;%r&quot; %s %b" />

165 

166       </Host>


5.톰캣 메인 페이지 index 변경하기


cd /usr/local/tomcat/


편집모드로 web..xml 파일을 연다.

제일 마지막부분의 아래 파란 부분의 내용을 원하는 파일로 추가하거나 수정한다.


4693     <welcome-file-list>

4694         <welcome-file>index.html</welcome-file>

4695         <welcome-file>index.htm</welcome-file>

4696         <welcome-file>index.jsp</welcome-file>

4697     </welcome-file-list>



댓글