본문 바로가기
Programming

속성(파라미터)

by Mizix 2009. 8. 11.
반응형

파라미터 초기화

파라미터 초기화는 서블릿마다 초기화 해주는것과 모든 서블릿 공통적으로 사용할수 있는 초기화가 있다.

즉, ServletConfig는 서블릿 당 하나, ServletContext는 웹 애플리케이션 당 하나

1. 서블릿마다 초기화 해주는 법.

BeerSelect라는 서블릿 안에서 <init-param></init-param> 같이 초기화 시켜주면 이렇게 초기화한 파라미터는 그 서블릿 안에서만 적용된다.

<servlet>
        <description>
        </description>
        <display-name>BeerSelect</display-name>
        <servlet-name>BeerSelect</servlet-name>
        <servlet-class>
        com.example.web.BeerSelect</servlet-class>
        <init-param>
            <param-name>adminEmail</param-name>
            <param-value>admin@admin.com</param-value>
        </init-param>
        <init-param>
            <param-name>mainEmail</param-name>
            <param-value>main@main.com</param-value>
        </init-param>
    </servlet>

초기화 한 값 읽어오기
getServletConfig().getInitParameter("adminEmail")


2. 모두 사용할수 있게 초기화 하는법.

전체 어플리케이션 안에서 <context-param></context-param> 로 contex파라미터를 초기화 해주면, 현재 웹 어플리케이션에 포함된 모든 서블릿이나 JSP에 모두 적용된다.

<?xml version="1.0" encoding="UTF-8"?>
<web-app "생략.................">
    <display-name>beerpage</display-name>
    <servlet>
        <display-name>BeerSelect</display-name>
        <servlet-name>BeerSelect</servlet-name>
        <servlet-class>
        com.example.web.BeerSelect</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>BeerSelect</servlet-name>
        <url-pattern>/BeerSelect.do</url-pattern>
    </servlet-mapping>
    <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>
    <context-param>
        <param-name>ClientadminEmail</param-name>
        <param-value>clientadmin@admin.com</param-value>
    </context-param>
</web-app>

초기화 한 값 읽어오기
getServletContext().getInitParameter("ClientadminEmail")


※ 파라미터 초기화 조건

  • String 밖에 저장할수 없다.
  • 따라서, 파라미터 값으로 DataSource의 검색명을 저장하고, String인 검색명을 실체 DataSource 객체로 바꾸어 준다.
  • 바꾸어 주는 일을 서블릿이 할 수도 있지만, 어떤 서블릿이 먼저 호출될 지 모르기 때문에 서블릿에서 하는건 좋지 않다.
  • 그래서 리스터(Listener)를 사용한다.
  • Listener : ServletContextListener
반응형