-
서블릿/JSP <2>공부 이야기/JSP 2020. 2. 14. 21:41
1. Tomcat 설치
- tomcat.apache.org에 접속하여 Core에 있는 Win64 버전을 다운 받는다.
- 압축을 풀고 나면 bin -> startup.bat 파일을 선택한다.
- 이 때, 환경 변수를 설정하지 않는 경우에는 창이 내려갈 수 있으므로 꼭 환경 변수를 설정해야 한다.
- Startup.bat 배치 파일이 실행된 이후, 브라우저에 localhost:8080을 입력하면 정상적으로 동작하는 모습을 볼 수 있다.
2. 파일 테스트
- 톰캣 파일의 wepapps - root는 메인 시작 화면을 의미한다.
- index.jsp는 홈페이지 화면을 의미하며 기본 8080을 입력해도 자동으로 지시된다.
- 해당 root 폴더에 임의의 텍스트 파일 혹은 이미지 파일을 추가한 후, [localhost:8080/aaa.txt]를 하면 접속 가능하다.
- 이 때 중요한건 확장자를 정확하게 표기해야 한다.
3. context 사이트 추가
- 별개의 root를 만드는, 가상 사이트를 의미한다.
- 물리적으로는 두 개의 사이트이지만 서비스는 동일하게 제공할 수 있도록 하는 것.
- 단, Root 폴더 안에 두지 않고도 안에 있는 것처럼 보일 수 있도록 하기 위해 conf -> server.xml에서 수정해야 한다.
server.xml - 위 방식처럼 직접 XML에서 설정하는 방법이 있고 Meta-INF 파일에서 설정하는 방법도 있다.
- 네이버와 같이 큰 홈페이지의 경우 분산으로 작업하는 경우가 많은데 이처럼 대형 프로젝트에서 별개의 폴더를 만들어야 하는 경우 사용하는 것이다.
4. 서블릿 프로그램 만들어보기
- 서버 어플리케이션의 모든 것을 실행하고 개발하는 것이 아닌 부분적으로 요청하는 서비스만 수행하는 Servlet
- Javax를 이용해서 서블릿을 만든다.
- 다음 추상클래스 HttpServlet을 상속받아서 실행
5. 서블릿 프로그램 컴파일하기
- 우선, JAVAX의 경우 일반적인 컴파일 방식이랑은 다르다.
- 바로 classpath 경로를 옵션으로 참조해주어야 한다.
javac의 옵션 - cp - classpath에서는 다음과 같이 tomcat -> lib -> servlet-api.jar 위치 경로를 입력해준다.
설치했던 톰캣 폴더의 라이브러리 안에 있음, JAR는 클래스 집합 형식 6. 사용자가 서블릿 파일 실행시키는 법
- 다음과 같이 WEB-INF 안의 정확한 위치에 클래스 파일을 세팅시켜둬야 한다.
- WEB-INF는 Root 안에 있다.
WEB-INF 자원 - 단, WEB-INF 폴더의 경우에는 서버에서만 구동될 수 있는 비공개 영역이기 때문에 특수한 방법을 통해 요청할 수 있도록 해야 한다.
- 따라서 URL과 매핑된 Servlet 코드를 찾아서 실행할 수 있도록 해야 한다. <WAS - Servlet>
- 이 때 특이한 것은 hello라는 명령어를 입력했을 때, Nana 클래스가 호출된 것이다....!!
- 그럼 Tomcat이 해당 매핑 역할을 할 수 있도록 해야되는데, 어느 곳에 명령어를 쳐아할까?
- 바로 Root -> WEB-INF 폴더 안의 web.xml에 해당 서블릿과 서블릿 매핑 구문을 추가해줘야 한다.
- 추가가 되었으면 URL에서 hello라는 페이지를 요청했을 때 나름 비밀스러운 곳에 있는 Nana.class 서블릿이 동작할 수 있다.
- 물론 추가를 하고 Tomcat - startup.bat 배치파일을 다시 실행해야 한다.
요약)
1. Tomcat을 이용해서 가상의 서버를 만들 수 있다.
2. Context를 활용하면 물리적 위치가 다른 폴더도 같은 곳에서 보이게끔 할 수 있다. 단, server.xml에서 수정해야 함.
3. Servlet은 JAVAX를 상속받은 클래스로 만들며, 클라이언트에서 요청하기 위해선 WEB-INF라는 특수 폴더 안에서 클래스 파일을 위치시켜야 한다.
4. 외부 URL을 이용해서 특정 Servlet을 실행하기 위해선 WEB-INF 폴더 안의 WEB.xml에서 매핑 구문을 추가해야한다.
참조)
https://www.youtube.com/watch?v=jp7vtbLin-s&list=PLq8wAnVUcTFVOtENMsujSgtv2TOsMy8zd&index=8
'공부 이야기 > JSP' 카테고리의 다른 글
tomcat - startup.bat 실행 오류 (0) 2023.07.09 서블릿/JSP <3> (0) 2020.02.14 서블릿/JSP <1> (0) 2020.02.14