개발/JSP
웹 어플리케이션 구동시 JDBC 드라이버 로딩하기
까망군
2011. 10. 20. 14:44
JDBC 드라이버는 한 번만 로딩하면 이후로 계속해서 사용할 수 있기 때문에 JSP페이지에서 매번 JDBC 드라이버를 로딩할 필요는 없다.
웹 어플리케이션이 시작될 때 자동으로 JDBC 드라이버를 로딩하도록 다음과 같은 서블릿 클래스를 사용한다.
WEB-INF\src\kame\jdbc\loader\Loader.java
Loader.java를 컴파일 한 다음에는 웹 어플리케이션이 시작될 때 자동으로 Loader 서블릿 클래스가 실행되도록 설정해 주어야 한다. 다음과 같이 web.xml 파일에 <servlet> 태그를 추가해 준다.
WEB-INF\web.xml
톰캣을 재시작 한다.
웹 어플리케이션이 시작될 때 자동으로 JDBC 드라이버를 로딩하도록 다음과 같은 서블릿 클래스를 사용한다.
WEB-INF\src\kame\jdbc\loader\Loader.java
package kame.jdbc.loader; import javax.servlet.http.HttpServlet; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import java.util.StringTokenizer; public class Loader extends HttpServlet { public void init(ServletConfig config) throws ServletException { try { String drivers = config.getInitParameter("jdbcdriver"); StringTokenizer st = new StringTokenizer(drivers, ","); while(st.hasMoreTokens()){ String jdbcDriver = st.nextToken(); Class.forName(jdbcDriver); } } catch(Exception ex) { throw new ServletException(ex); } } }
Loader.java를 컴파일 한 다음에는 웹 어플리케이션이 시작될 때 자동으로 Loader 서블릿 클래스가 실행되도록 설정해 주어야 한다. 다음과 같이 web.xml 파일에 <servlet> 태그를 추가해 준다.
WEB-INF\web.xml
<?xml version="1.0" encoding="euc-kr"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> <servlet> <servlet-name>JDBCDriverLoader</servlet-name> <servlet-class>kame.jdbc.loader.Loader</servlet-class> <init-param> <param-name>jdbcdriver</param-name> <param-value>com.mysql.jdbc.Drvier</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> </web-app>
톰캣을 재시작 한다.