서버세팅 실습
아파치 & 톰캣
- 아파치(Apache)
- 아파치 소프트웨어 재단에서 관리하는 HTTP 웹 서버
- 다양한 추가기능이 있고 무료여서 작은 기업들에서 많이 쓰인다.
- 80번 포트로 정적 데이터 처리 : 클라이언트 요청(POST,GET,DELETE)이 왔을때만 응답 - 톰캣(Tomcat)
- 아파치 소프트웨어 재단의 WAS서버
- 자바 서블릿을 실행키고 JSP코드가 포함되어 있는 웹 페이지를 만들어준다.
(WAS의 서블릿 컨테이너 역할)
- 8080번 포트로 동적 데이터 처리 : DB연결,데이터 조작, 다른 응용프로그램과 상호 작용 등
- 자세한 내용 : 61번 포스팅 - 아파치 톰캣 (Apache Tomcat)
- 톰캣만 사용하면 동적인 웹페이지 처리가 가능하지만 아파치에서 필요한 기능을 못가져옴. 또한 여러 사용자가 요청할시에 톰캣에 과부하가 걸림.
>> 톰캣이 아파치의 기능 일부를 가져와서 제공해주는 형태이기 때문에 같이 합쳐서 부른다.
- 아파치와 톰캣을 같이 쓰면 아파치는 정적인 데이터만 처리하고, JSP 처리는 Web Container(톰캣의 일부)로 보내주어 분산처리 할 수 있다.

WAS 서버 아파치 톰캣으로 구축하기
- 다운로드 :
apache tomcat 공식사이트
> 왼쪽 다운로드에서 Tomcat 9 클릭
(자바 11버전에 최적화 되어있음. 자바8은 Tomcat 8)
> 9.0.70버전의 Core: zip 클릭하여 다운로드
> 압축 풀면 서버 구축이 된것! - 접근하기 쉽게 위치 지정하기 :
apache-tomcat-9.0.70 폴더가 두겹 감싸져있음.
파일들과 폴더들이 담겨있는 바로 상위 폴더를 복사
> c드라이브의 dev폴더 (개발자 도구 모아놓은 폴더)에 붙여넣기
웹개발을 위한 이클립스 세팅
- 학습 때와 달리 작업환경(오른쪽 상단 아이콘)을 JAVA EE 그대로 사용
>> 여기서만 웹 애플리케이션 개발기능 사용 가능
Java EE 선택이 안된다면? 이클립스를 잘못받은것이다 - 화면 UI 탭들은 Servers, Console, Navigator, Project Explorer, problems(Others로 검색)
* problems 탭은 미처 생각하지 못한곳에서 발생한 오류를 알려준다. - 인코딩 설정하기
[Window] - [Preferences] - [General]
>> 기존에 항상 하던 작업 ↓
1. [Workspace] 에서 UTF-8로 지정
2. [Editors] - [Text Editors] - [Spelling] 에서 UTF-8로 지정
>> 웹개발을 위해 추가적으로 인코딩 해주어야할것 ↓
3. [Web] - [CSS Files] 에서 encoding을 최상단에 있는 ISO ~ UTF-8로 지정
[HTML Files] 와 [JSP Files] 도 동일하게
4. [XML] - [XML Files] > UTF-8 확인 - 주석문 설정하기
[Window] - [Preferences] - [Java] - [Code Style] - [Code Templates]
> Code 클릭> Method body, Catch block body 더블클릭하여 주석삭제 - 서버 Runtime 잡기
- 이클립스에서 서버를 실행(start, stop)할 수 있도록 연동하는 과정
[Window] - [Preferences] - [Server] - [Runtime Enviroments]
> Add > Apache Tomcat v9.0선택(설치한 버전과 동일하게 선택) > next
>목록에 보여질 Name 수정 가능, directory를 dev파일에 저장해놨던 폴더 선택 > Finish - 서버 생성하기
Servers탭 오른버튼> [New] - [Server]
> Select the server type : 설치한 톰캣 버전 선택 ( 9.0 ) + create a new local server 체크
Server Runtime Enviroment에 위에서 만들어둔 서버 선택 혹은 Next후
Server installation directory에서 설치한 톰캣 폴더 선택 > Next
> 서버위에 구동시킬 웹 어플리케이션을 추가할수 있는 창 > Finish
** 생성된 서버 수정하기 (만들어진 서버 더블클릭)
1. 포트번호 재설정 :
[Ports] 에 [HTTP/1.1]의 Port Number 기본값 8080
이때 오라클도 8080이기 때문에 충돌이 발생함. 8888등으로 수정 **기억할것
* [Tomcat admin port]도 중복되면 안되기 때문에 프로젝트를 새로 만들었다면 다른번호로 수정해준다.
2. [Server Options] 에 Serve modules without publishing 체크하기
(이후 지정할 output folder에 컴파일된 파일들이 제대로 가게끔 하는 작업)
3. ctrl + S 로 저장하기
** 서버 생성 중 오류가 났다면?
1. 서버탭에서 해당서버 오른클릭 > delete
2. 네이게이터에 서버스 폴더도 삭제(기록삭제를 위해)
이클립스 프로젝트 만들기
- 프로젝트 생성
오른클릭 New - Dynamic Web Project(동적인 웹) 클릭
> 프로젝트명 입력 후 > Next
1. Source folders on build path : .java 파일이 저장되는곳.
기본으로 지정된 src\main\java로 두기
(cf. 폴더 구조로 src\main\webapp\WEB-INF와 src\main\webapp\META-INF가 생성되는데, 이때 webapp가 배포되는 폴더이다. java는 소스파일 저장용 폴더)
2. Default output folder : 컴파일된 .class파일이 저장되는곳.
기본경로는 webapp 밖에 있어서 배포가 안됨.
배포를 전재로 프로젝트를 만들때는 [ src\main\webapp\WEB-INF\classes ] 로 입력한다. >> Next
3. Context root : 어플리케이션의 별칭 (기본값 프로젝트명) **기억할것
Context path가 되며 url 등에 쓰임.
(Context path 확인 및 수정 : Server 더블클릭 - Module 에서 확인 및 edit)
한 서버 위에서 여러개의 어플레이션이 구동될 수 있기때문에 겹치면 안됨.
4. Context directory : 서버에 올라가는 폴더의 최상위 폴더를 지정하는것.
웹 컨테이너. webapp경로가 지정되어있음.
5. Generate web.xml deployment descriptor : 배포서술자
(어플리케이션에 대한 전체 설정 정보가 담김, 가장 먼저 읽힌다.)
> 체크한다. 추후에 수정할 일이 생길 수 있기 때문
체크 안할 시 서버가 갖고있는 web.xml이 실행됨.
>>Finish - 버전 설정하기
1. Project Explorer에서 오른클릭 Properties > Project Facets
> 자바, 자바스크립트, 다이나믹웹모듈 세개 선택되어있는지 확인,
Java 버전을 11로 수정
오른쪽 Runtimes탭에서 만들어둔 Apache Tomcat v9.0 체크
*** 깃허브등에서 다운받은 파일이 보이지 않을때 해당 과정을 체크해준다.
2. Properties
> Java Build Path의 Libraries에서 11버전 확인
3. Java Compiler
> 11로 잘 되어있는지 확인 - 새로만든 Project 체크사항
1. [프로젝트]-[src/main/webapp]-[WEB-INF]- classes 폴더 잘 만들어졌는지 확인
2. [프로젝트]-[src/main/webapp]-[WEB-INF]- web.xml 문서 잘 만들어졌는지 확인 - 서버에 올리기
1. 등록한 서버 오른클릭 > [Add and Remove]
2. 어플리케이션 선택 후 add > Finish
index.html과 web.xml
- web.xml
- 배포서술자(Deployment Descriptor, DD)
해당 웹 어플리케이션의 기본적인 설정정보들을 작성하게 됨
해당 웹 애플리케이션을 구동시키는 서버 start시 제일 먼저 읽혀지는 파일 - web.xml 파일은 Design탭 말고 Source탭으로 보기
- web-app쪽에 빨간줄은 버그(무시해도 됨)
- welcome-file부에 index.html 확인
>url로 해당 이 애플리케이션의 루트로 요청 시 제일 먼저 보여지게 되는 메인페이지 지정해놓은 것.
url 형태>> http://구동중인서버의ip주소:포트번호/애플리케이션의루트명
ex) http://localhost:8888/01_Servlet
>index.html 혹은 index.jsp를 생성할것이기 때문에 나머지는 지운다.
(이 파일이 정상적으로 실행되려면 위치는 webapp이어야 한다.
나머지 페이지들은 편의를 위해 webapp/views에 저장한다) - 페이지 구동 확인
1. webapp오른클릭 new - Other - html검색 - index.html 생성
2. 테스트 문구 입력 후 저장
3. 서버탭 재생버튼 > 서버 start됨.
4. 브라우저에 [ http://localhost:8888/01_Servlet ] 입력하여 확인
추가 선택사항
- 프로젝트등을 만들 때 new에 뜨는 불필요한 항목들 지우기
Window - [Perspective] - [Customize Perspective] 의 Shortcuts
> General에서 File, Folder
> Java에서 Class, Package
> Javascript
> Web에서 CSS File, Dynamic Web Project, JSP File, Servlet
>XML에서 XML File
체크 후 외에 모든것은 체크해제
깃허브로 클론받을 경우 절차
클론 받기 전
- DB구축(계정생성, 데이터입력)
- workspace 폴더 만들어서 이클립스 통해서 열기
- 기존에 workspace 처음에 세팅했던거 하기
(Show View, Customize Perspective, 인코딩설정, Server Runtime Environment, 서버생성 후 포트번호(8887) 수정과 체크박스)
클론 받은 후
- File > Open Projects From File Systems 선택 후 => 열고자하는 프로젝트(예: webProject)
- 프로젝트 오른클릭 - [properties]
2-1) [Project Facets]
Java, JavaScript, Dynamic Web Module에 체크
자바버전 11 맞는지 확인
2-2) [Java Build Path]
Source탭 Default output folder 경로 확인
>> 프로젝트명/src/main/webapp/WEB-INF/classes 으로 되어있어야한다.
2-3) [Java Compiler]
자바 버전 11 확인
2-4) [Server]
사용하고자하는 서버를 선택한다(none으로 되어있으면 안됨) - gitignore 파일로 인해 올라가지 않는 파일 : src/main/java/db/driver/driver.properties
>> 다시 폴더를 만들어서 driver.properties 를 작성해두기 - gitignore 파일로 인해 올라가지 않는 파일2 : src/main/webapp/WEB-INF/lib/ojdbc6.jar
>> C:\dev 안에 있는 ojdbc6.jar 복사해서 lib안에 붙여넣기 하기 - 생성된 서버에 Add and Remove로 해당 프로젝트 추가 후
서버 더블 클릭해서 Modules 탭 가보기
이때 Path값을 의도했던 값으로 수정한 후 서버 스타트해서 페이지 접속해서 테스트 해보기
'다양한 기술들 > Web 관련' 카테고리의 다른 글
| [JSP] 간단한 실습 (0) | 2023.01.10 |
|---|---|
| [JSP] HTML 위에서 작성하는 Java / 기본 문법 (0) | 2023.01.10 |
| [서블릿] 실습 : form태그를 통한 HTTP 통신 (0) | 2023.01.10 |
| [서블릿] 동적 웹 만들기 개념 / 주요 인터페이스 (0) | 2023.01.03 |
| [서버] 이론 : 웹서버와 WAS (0) | 2022.12.29 |
댓글