대덕공부/Spring
ServletContext
02O2
2022. 6. 20. 20:47
https://codeofenow.tistory.com/32
[JSP] ServletContext(Application)
웹에서 사용하는 HTTP 프로토콜의 통신 방식은 클라이언트와 서버 간의 연결을 클라이언트로부터 요청이 있을 때마다 매번 새롭게 연결하는 방식이다. 요청이 있을 때마다 연결작업이 새롭게 이
codeofenow.tistory.com
ServletContext
:현재서블릿이 운영 중인 어플리케이션에 대한 정보 그 어플리케이션이 실행되는 서버의 정보
:하나의 어플리케이션에 virtual machine이 하나씩 할당됨
: 서블릿이 운영되는 어플리케이션과 해당 어플리케이션이 운영되는 서버에 대한 정보를 가진 객체.
컨텍스트 하나당 하나의 싱글턴 객체가 운영됨
:웹 어플리케이션 전역에서 사용할 공동의 자원을 미리 바인딩하여 서블릿들이 이를 공유할 수 있도록 한다. 톰캣 컨테이너가 실행되면 웹 어플리케이션에 한 개씩 Context 객체를 생성한다.
:서블릿컨텍스트는 싱글톤으로 동작
싱글톤객체로인해 해쉬코드가 같음을 확인 할 수 있다.
서블릿컨텍스트는 서블릿전체에 대한 정보를가지고 있기때문에 여러개를 만들필요가 없다.
1. MIME 데이터 사용
<%=application.getMimeType("test.jpg") %>
2. 서버의 정보
<%=application.getServerInfo() %>
servlet spec version : <%=application.getMajorVersion() %>.<%=application.getMinorVersion() %>
3. 로깅
<%--
request.getParts();//버전이 3 이상이어야 쓸수있음
--%>
<%
application.log("로그메세지");
%>
4. (***) 웹리소스 확보 : /WebStudy02_MVN/src/main/webapp/resources/images/cat1.jpg
(개발환경)D:\B_Util\eGovFrameDev-3.9.0-64bit\workspace\WebStudy02_MVN\src\main\webapp\resources\images\cat1.jpg
(실행환경)D:\B_Util\eGovFrameDev-3.9.0-64bit\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\WebStudy02_MVN\resources\images\cat1.jpg
D:\B_Util\eGovFrameDev-3.9.0-64bit\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
<%=application.getRealPath("/resources/images/cat1.jpg") %>
<%
String imgeUrl = "/resources/images/cat1.jpg";
File imageFile = new File(application.getRealPath(imgeUrl));
out.println("파일 크기 : "+imageFile.length());
%>
</pre>
<h4>servlet Context hashcode : <%=application.hashCode() %></h4>
<a href="<%=request.getContextPath() %>/desc.do">/desc.do</a>
tmp0 -> 톰캣에 의해 결정되는 경로