본문 바로가기

콩's EDUCATION/콩's JSP&SERVLET

Context Servlet,jsp 실습 예제

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class ContextTest
 */
@WebServlet("/Context")
public class ContextTest extends HttpServlet {
 private static final long serialVersionUID = 1L;
      
    /**
     * @see HttpServlet#HttpServlet()
     */
    public ContextTest() {
        super();
        // TODO Auto-generated constructor stub
    }

 /**
  * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
  */
 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
   response.setContentType("text/html;charset=utf-8");
   PrintWriter out = response.getWriter();
   ServletContext sc = getServletContext();
   sc.setAttribute("address","한국대");
   out.println("<html>");
   out.println("<heaed><title>ServletContextTest</title></head>");
   out.println("<body><h3>ServletContextTest</h3><hr>");
   out.println("ContextPath : "+sc.getContextPath()+"<br>");
   out.println("Servlet Modul Major Version : "+sc.getMajorVersion()+"<Br>");
   out.println("Servlet Modul Minor Version : "+sc.getMinorVersion()+"<Br>");
   out.println("web3 Context's Real path : "+sc.getRealPath("/jsp_web1"+"<br>"));
   out.println("ServerInfo : "+sc.getServerInfo()+"<br>");
   out.println("Servlet Context Name : "+sc.getServletContextName()+"<br>"); 
   out.println("getAttribute('address') : "+sc.getAttribute("address")+"<br>");
   sc.log("한국대"); 
   out.println("</body></html>");
   }
}

 

결과

log는 아래 콘솔창에 출력된다.

 

 

 

컨텍스트 초기화를 통해 할 수도 있다.

web.xml에서 파란색 부분을 추가한다.

* web.xml은 다이나믹 웹 프로젝트를 bbs 2.5ver으로 생성하면 확인할 수 있다.

 

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>bbs</display-name>
  <context-param>
  <param-name>logEnabled</param-name>
  <param-value>true</param-value>
  </context-param>
  <context-param>
 <param-name>debugLevel</param-name>
 <param-value>5</param-value>
 </context-param>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <!--  현재 웹 컨텍스트의 모든 Servlet,filter, Resource, 전역 errorpage 들을 등록하는 중요한 설정 파일이다.
  웹 컨텍스트의 초기화 파라미터를 설정하면, 설정된 초기화 파라미터들은 웹 컨텍스트내으ㅔ 모든 Servlet과 jsp에서 공유할수 있는
  전역 파라미터가 된다.-->
</web-app>

 

아래 내용을 테스트하던 페이지에 추가한다.

 

   out.println("컨텍스트 초기화 파라미터(로깅여부) : "+sc.getInitParameter("logEnabled")+"<br>");
   out.println("컨텍스트 초기화 파라미터(디버그레벨) : "+sc.getInitParameter("debugLevel")+"<br>");

 

결과는

 

JSP 상에서도 똑같은 결과가 나온다.

 

<body>
<h3>servlet Context Testg</h3>
     <% application.setAttribute("address", "한국대");%>
     ContextPath : <%= application.getContextPath() %><br>
     Servlet Modul Major Version <%=application.getMajorVersion()%><Br>
    Servlet Modul Minor Version : <%=application.getMinorVersion()%><Br>
    web3 Contexts Real path : <%=application.getRealPath("/jsp_web1")%><br>
    ServerInfo : <%=application.getServerInfo()%><br>
    Servlet Context Name <%=application.getServletContextName()%><br>
    getAttribute("address") : <%=application.getAttribute("address")%><br>
   <% application.log("한국대"+request.getRemoteAddr());%> 
    컨텍스트 초기화 파라미터(로깅여부) : <%=application.getInitParameter("logEnabled")%><br>
    컨텍스트 초기화 파라미터(디버그레벨) <%=application.getInitParameter("debugLevel")%><br>
    
</body>
</html>