ServletContext의 매개변수 설정 기능
1. 다음과 같이 ContextParamServlet 클래스 파일과 web.xml 파일을 준비합니다.

2. web.xml에 메뉴 항목을 설정합니다. <context-param> 태그 안에 <param-name> 태그와 <param-value> 태그를 이용해 메뉴에 대한 하위 메뉴 항목을 설정합니다.
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
<context-param>
<param-name>menu_member</param-name>
<param-value>회원등록 회원조회 회원수정</param-value>
</context-param>
<context-param>
<param-name>menu_order</param-name>
<param-value>주문조회 주문등록 주문수정 주문취소</param-value>
</context-param>
<context-param>
<param-name>menu_goods</param-name>
<param-value>상품조회 상품등록 상품수정 상품삭제</param-value>
</context-param>
</web-app>
3. ContextParamServlet 클래스를 다음과 같이 작성합니다. getServletContext() 메서드로 ServletContext 객체에 접근합니다. 그리고 getInitParameter() 메서드의 인자로 각각의 메뉴 이름을 전달한 후 메뉴 항목들을 가져와 이를 브라우저로 출력합니다.
package sec05.ex02;
import jakarta.servlet.ServletContext;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
@WebServlet("/initMenu")
public class ContextParamServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
ServletContext context = getServletContext();
String menu_member = context.getInitParameter("menu_member");
String menu_order = context.getInitParameter("menu_order");
String menu_goods = context.getInitParameter("menu_goods");
out.print("<html><body>");
out.print("<table border=1 cellspacing=0><tr>메뉴 이름</tr>");
out.print("<tr><td>" + menu_member + "</td></tr>");
out.print("<tr><td>" + menu_member + "</td></tr>");
out.print("<tr><td>" + menu_order + "</td></tr>");
out.print("<tr><td>" + menu_goods + "</td></tr>");
out.print("</tr></table></body></html>");
}
}
4. 크롬 브라우저에서 http://localhost:8090/pro08/initMenu로 서블릿을 요청합니다.

5. Micoflow Edge에서도 요청해 봅니다.

모든 브라우저에서 같은 메뉴를 출력하는 것을 확인할 수 있습니다. 즉, 메뉴는 ContextServlet 객체를 통해 접근하므로 모든 웹 브라우저에서 공유하면서 접근할 수 있습니다.
'프로그래밍 언어 > 자바 웹' 카테고리의 다른 글
| ServletConfig (0) | 2025.06.29 |
|---|---|
| ServletContext의 파일 입출력 기능 (1) | 2025.06.24 |
| ServletContext 사용법 (1) | 2025.06.18 |
| 바인딩 (1) | 2025.06.15 |
| dispatch를 이용한 포워드 방법 (1) | 2025.06.12 |