WebApp ServletConfig 이용하기

황제낙엽 2010.03.15 09:23 조회 수 : 487 추천:149

sitelink1 http://www.4te.co.kr/540 
sitelink2  
sitelink3 http://1 
sitelink4 http://ko 
sitelink5  
sitelink6 http://sitelink1 

 

web.xml에 config 정보를 정의하고 해당 내용을 servlet에서 불러와 사용할 수 있다.

사용 방법은 다음과 같다.

 

1. web.xml 작성

·미리보기 | 소스복사·
 
  1. <!-- ServletConfig Test Start... -->    
  2. <servlet>   
  3.     <servlet-name>BeerParamTests</servlet-name>   
  4.     <servlet-class>com.example.TestInitParams</servlet-class>   
  5.     <init-param>   
  6.         <param-name>adminEmail</param-name>   
  7.         <param-value>likewecare@wickedlysmart.com</param-value>   
  8.     </init-param>   
  9.     <init-param>   
  10.         <param-name>mainEmail</param-name>   
  11.         <param-value>blooper@wickedlysmart.com</param-value>   
  12.     </init-param>   
  13. </servlet>   
  14. <servlet-mapping>   
  15.     <servlet-name>BeerParamTests</servlet-name>   
  16.     <url-pattern>/Tester.do</url-pattern>   
  17. </servlet-mapping>   
  18. <!-- ServletConfig Test End... //-->  

init-param을 통해서 param-name(변수명)을 정하고 param-value에 값을 넣은 후 사용할 수 있다.

2. com.example.TestInitParams.java 작성

·미리보기 | 소스복사·
 
  1. package com.example;   
  2. import java.io.IOException;   
  3. import java.io.PrintWriter;   
  4. import java.util.Enumeration;   
  5. import javax.servlet.ServletException;   
  6. import javax.servlet.http.HttpServlet;   
  7. import javax.servlet.http.HttpServletRequest;   
  8. import javax.servlet.http.HttpServletResponse;   
  9. public class TestInitParams extends HttpServlet {   
  10.     public void doGet(HttpServletRequest request, HttpServletResponse response)   
  11.                     throws IOException, ServletException {   
  12.         response.setContentType("text/html");   
  13.         PrintWriter out = response.getWriter();   
  14.         out.println("test init parameters<br>");   
  15.            
  16.         Enumeration e = getServletConfig().getInitParameterNames();   
  17.         while(e.hasMoreElements()) {   
  18.             out.println("<br>param name = " + e.nextElement() + "<br>");   
  19.         }   
  20.         out.println("main email is " + getServletConfig().getInitParameter("mainEmail"));   
  21.         out.println("<br>");   
  22.         out.println("admin email is " + getServletConfig().getInitParameter("adminEmail"));   
  23.     }   
  24. }  

getServletConfig()를 사용하여서 web.xml 파일에서 정의한 mainEmail, adminEmail 변수를 가져와 사용할 수 있다.

 

3. 결과물

브라우져에서 호출하면 아래와 같은 결과물을 볼 수 있다.

test init parameters

param name = mainEmail

param name = adminEmail
main email is blooper@wickedlysmart.com
admin email is likewecare@wickedlysmart.com



참고로 ServletConfig 객체는 init() 함수에서도 얻을 수 있다.

 

public void init(ServletConfig config) throws ServletException {

    super.init(config);

}  

번호 제목 글쓴이 날짜 조회 수
183 Java6 에서 지원하는 Scripting (번역중) 황제낙엽 2010.05.28 553
182 RMI 시작하기(2) file 황제낙엽 2010.05.27 531
181 RMI 시작하기(1) file 황제낙엽 2010.05.27 459
180 Java Remote Method Invocation (Java RMI) 황제낙엽 2010.05.27 460
179 javax.script API 관련 스크랩 (ScriptEngine, ScriptEngineManager) 황제낙엽 2010.05.25 472
178 java.util.Properties 파일 사용 예제 file 황제낙엽 2010.04.06 452
177 10진수 <-> 16진수(Hex) 변환 file 황제낙엽 2010.03.29 1550
» ServletConfig 이용하기 황제낙엽 2010.03.15 487
175 16비트 CRC 체크용 클래스 (사용자 클래스) 황제낙엽 2010.03.14 664
174 파일을 읽어서 CRC 값을 연산하는 메서드 (java.util.zip.CRC32) 황제낙엽 2010.03.14 456
173 byte배열에 대한 CRC 를 계산하는 메서드 (java.util.zip.CRC32) 황제낙엽 2010.03.14 2453
172 java의 List와 반복문(loop), 그리고 변수 선언 위치에 대해서 황제낙엽 2010.02.17 520
171 메모리 유출과 약한 참조 황제낙엽 2010.01.26 912
170 Methods of the Matcher Class 황제낙엽 2010.01.19 439
169 Pattern.matches() , Matcher.matches() , Matcher.find() file 황제낙엽 2010.01.19 606
168 java.lang.IllegalArgumentException 황제낙엽 2010.01.18 136541
167 org.apache.commons.fileupload.servlet.ServletFileUpload 를 이용한 파일 업로드 file 황제낙엽 2009.11.19 477
166 Error reading tld listeners java.lang.NullPointerException 황제낙엽 2009.10.14 444
165 Cannot find the tag library descriptor for “http://java.sun.com/jsp/jstl/core 황제낙엽 2009.10.14 1259
164 Transfer-Encoding: chunked VS Content-Length 황제낙엽 2009.09.17 519