JSP & Servlet

2020 jsp(java server page) & servlet(ServerApplicationLet) 3.Tomcat에 의한 Servlet 코드 배치와 요청

Jungsoomin :) 2020. 6. 27. 00:58

톰캣에 의한 서블릿 코드 배치와 요청 방법




Class 파일의 약속된 장소가 있다. -> WEB-INF/classes/패키지명/클래스명/클래스파일

하지만 절대로 실행되지 않는다. 사용자에 의해 요청되는 디렉토리가 절대 아니다. 

 

그렇기에 설정과 프로그램 코드를 넣는 것이다.

Server의 디렉토리임으로 Client 접근할 수 없는 private 영역인 것이다.




그럼 요청은 어떻게 할까? 흐름을 대략적으로 알아보자

 

Client -->>GET:1/2/3/4 -->>WAS(톰캣) --->>URL과 맵핑된 Servlet 코드를 찾아서 실해줌

즉 사용자가 요청한 이름에 Mapping 되어있는 Servlet 코드를 실행하여 결과를 돌려주는 방식이다.

1.사용자에게는 다른 이름으로 요청하게끔 해준다.
2.URL 형식으로 WEB-INF 가 아닌 다른 경로를 사용할 수 있도록 해준다.

그렇다면 어떻게 맵핑하며 어떻게 다른 경로로 요청하게 해줄 것 인가?


 

WEB-INF/web.xml로 가자.

 

<servlet>
    <servlet-name>soo</servlet-name>
    <servlet-class>SooMin</servlet-class> 패키지가 있다면 패키지명까지 적어줘야한다.
</servlet>

<servlet-mapping>
    <servlet-name>soo</servlet-name> /hello 요청이 오면 soo을 찾아 실행해주세요!
    <url-pattern>/hello</url-pattern>  사용자에게 주는 Servlet이름
</servlet-mapping>

 

 

http://~~/hello 가 요청으로 오면 mapping 된 SooMin.class 를 실행한다는 것이다.
사용자는 /hello로 요청하고 이후에는 톰캣(WAS)이 요청에 맞는 Servlet Class 를 찾아서 실행해준다는 의미이다.

 

톰캣 -> webapp ->ROOT -> WEB-INF->classes->해당 클래스 파일 or 패키지 위치


 

이후 /hello로 접근하면 Tomcat 콘솔에 출력이 될 것이다.