0713 - Servlet JDBC 연동
0713 - Servlet JDBC 연동
InitParameter
- init() 단계에서, 즉 WAS가 올라갈때 web.xml에
<init-param>
으로 등록된 값을 얻어와서 service() 메소드 내에서 사용 가능
public void init(ServletConfig config) throws ServletException {
try {
//ServletConfig 객체로 initParameter 값을 받아온다.
this.driver = config.getInitParameter("driver");
} catch(Exception e) {
throw new ServletException(e);
}
}
<init-param>
으로 등록된 값을 얻어와서 service() 메소드 내에서 사용 가능public void init(ServletConfig config) throws ServletException {
try {
//ServletConfig 객체로 initParameter 값을 받아온다.
this.driver = config.getInitParameter("driver");
} catch(Exception e) {
throw new ServletException(e);
}
}
단, @WebServlet("/EmpSelect") 어노테이션 자동 등록 방식으로 Servlet Mapping를 해주면 안되고, web.xml에서 으로 수동 등록을 해줘야 한다.
--> 수동 매핑 후에 반드시 DD -> Servlet Mappings에 정상 등록 되었는지 확인 필수!
ServletContext
- ServletContext 의 생명주기는 WAS와 동일하며, WAS 서버(Tomcat)가 내려가기 전까지의 Life Cycle을 가진다.
- web.xml에
<context-param>
으로 등록된 값을 받아와서 모든 서블릿과 모든 JSP에서 공유할 있게 사용 가능!
public void init(ServletConfig config) throws ServletException {
try {
//ServletContext 객체로 getServletContext 값을 받아온다.
ServletContext ctx = config.getServletContext();
this.driver = ctx.getInitParameter("driver");
} catch(Exception e) {
throw new ServletException(e);
}
}
웹브라우저에서 전송한 전송 파라미터를 획득
String empno = req.getParameter("empno");
Connection Pool
<context-param>
으로 등록된 값을 받아와서 모든 서블릿과 모든 JSP에서 공유할 있게 사용 가능!public void init(ServletConfig config) throws ServletException {
try {
//ServletContext 객체로 getServletContext 값을 받아온다.
ServletContext ctx = config.getServletContext();
this.driver = ctx.getInitParameter("driver");
} catch(Exception e) {
throw new ServletException(e);
}
}
String empno = req.getParameter("empno");
Connection Pool
매번 Connection을 맺고 끊고 해주는 일이 힘들고 귀찮기 때문에
Connection Pool을 이용해서 매번 연결해줄 필요가 없다.
즉, java -> webapp -> META-INF -> context.xml 내에 연결정보 설정 후
@Resource 어노테이션 사용으로 연결
데이터소스(Data Source)
- 패키지 : javax.sql.DataSource interface
- 이 인터페이스의 구현객체는, WAS가 만들어 제공
- 이 DataSource 객체는 아래의 기능을 제공한다.
- Connection Pool 기능을 제공!
- 개발자 : 아래의 2가지 작업을 수행해야 한다.
- 1) DataSource 설정 필요
- 2) 설정이 끝난 DataSource 구현 객체를 얻어야 한다.
- 가. @Resource 어노테이션 사용
- 나. JDNI 사용
- @Resource(name = "jdbc/OracleCloudWithLog4jdbc")
- 완료! Connection Pool 사용하기!
- Connection Pool은 대량의 트랜잭션 처리의 핵심기능이다.
- 스프링에서도 당연히, 데이터소스로 대량의 트랜잭션 처리
Author And Source
이 문제에 관하여(0713 - Servlet JDBC 연동), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jsung12/0713-Servlet-JDBC-연동저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)