아파치 톰캣은 Spring에서는 임베디드(내장된) 서버로 실행되지만, Window 환경에서 실제로 돌고 있는 서버가 되게 하려면 아파치 톰캣을 다운받아 Window 환경에서 실행시켜야 한다.
아파치 톰캣 홈페이지에서 자기 자바 버전과 호환되는 톰캣을 다운로드 받기.
(JAVA 11사용으로 Tomcat 9 다운로드)
아파치 톰캣 설치 후에는 내 윈도우의 특정 폴더가 웹서버가 된다.
아파치 톰캣이 설치된 경로에서 'conf'폴더를 가보면 xml들이 있다.
(나같은 경우 C:/Program Files/Apache Software Foundation/Tomcat 9.0/conf)
xml을 볼 때 sublime Text 프로그램으로 보면 읽기 좋다.
오른쪽클릭-편집을 하면 메모장으로 xml파일을 읽을 수 있다.
일단은 메모장으로 읽어보았다.
포트가 설정된 것을 확인할 수 있다.
Host name : 호스트 설정
appBase : 타겟 폴더 설정
WARs : 예전에 톰캣이 내장되지 않았을 때 자바 웹 프로그램을 만들 때 사용한 파일. 톰캣을 실행한 상태에서 Webapps에 WARs 파일을 넣으면 내부에 압축이 풀렸다. (서버 안의 웹 프로젝트 안에 풀림) (지금은 내부에 톰캣이 있으니 jar로 만들면 된다구 ㅇ.<)
✔️특징
- 여기서 context-path 설정을 할 수 있다.
- 아파치 톰캣이 실행될 때 (서버가 실행될 때) 한 번만 실행된다.
✔️특징
- 주된 기능 : Web을 읽어서 실행시키고 DB 연결 기능
- 마찬가지로 서버가 실행될 때 한 번만 실행된다. →
모든 필터링을 port통과하자마자 하거든
문지기도 한명만 있으면 되거든
문지기는 한 번만 만들어지는데 요청이 실행될 때마다 코드가 실행됨
서버는 port를 만들지 (단한번만 실행되면 됨) 단 한번만 실행되면 되는 통신에 관한 설정을 하는거고 (통신 소켓) post
context.xml 디비 설정 - 단 한번만 실행하고 싶은 설정을 주로 함
통신과 관련되지 않은 내부 설정들을 !단 한번!만 실행하고 실행하고 싶을 때 사용
두 번 실행하고 싶은건 여기다 적지 않음
web.xml
문지기가 만들어지는데 문지기가 뭘 보냐면
web.xml은 문서를 쫙 읽어 (표보고 필터링해)
web.xml은 한번만 실행됨
문지기는 올 때마다 실행됨
필터링
🌿→🌳
외부에서 들어오는 모든것을 막는게 server.xml(강,악어)
문지기 : 적혀있는 문서대로 봐 (리스너)
context 내 성에 대해서 모든 걸 알기 때문에
내 project에 받아야 할 필터링은 DS에서도 할 수 있음 (공통로직을 처리함으로서 Web.xml의 역할이 많이 줄음)
모든 Server는 위 세 가지 기능이 기본적으로 있다.
모두 delete
문지기가 우리성에서 어디에 들어갈거예요?
몰라(로케이션설정안하고 내서버에들어왔을까)
그럼 index.html만있으니까 절로 연결해줌
ROOT폴더 : 웹 서버. (여기에다 정적 자원을 만듬)
src/main/resources/static폴더 <- 스프링에서는 이게 static 폴더
template <- template engine을 넣어두는 폴더
Springboot? Spring은 jsp 지원을 안해요 <- 그래서 View Resolver 설정
프리메이커
타임메이커
머스태치
그루비 탬플릿
만 지원
설정안하면 이 파일 보여줄게~
그래서 이 파일이 열리는 것
teplete 톰캣
static은 톰캣이 동작할필요가 없다 (아파치만 동작)