ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 서블릿/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
Designed by Tistory.