왜 Three-layer로 구성하는지?
사용자 어플리케이션과 DB의 계층간 분리를 통해 역할을 분담시켜 일을 효율적으로 할 수 있다.
각 계층간의 독립성이 높아져 코드에 문제가 생겼을 때, 문제가 되는 부분만 쉽게 해결할 수 있다.
혹은, 중간의 Middleware layer가 resource, 보안성을 관리해 load balancing을 수행하여 client side에서의 무차별적인 DB 접근을 필터링해주는 역할을 수행하여 DB를 해치는 것을 막기 위함
<!-- JDBC package import -->
<%@ page language="java" import="java.text.*, java.sql.*" %>
...
<body>
<%
String serverIP = "localhost";
String strSID = "orcl";
String portNum = "1521";
String user = "db11";
String pass = "db11";
String url = "jdbc:oracle:thin:@"+serverIP+":"+portNum+":"+strSID;
// JDBC package가 제대로 load되지 않으면 error !
Connection conn = null;
PreparedStatement pstmt;
ResultSet rs;
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConneciton(url, user, pass);
String query;
// query 작성
pstmt = conn.prepareStatement(query);
rs = pstmt.executeQuery();
ResultSetMetaData rsmd = rs.getMetaData();
int cnt = rsmd.getColumnCount();
for (int i=1;i<=cnt;i++) {
// index는 1부터 시작
out.println("<th>"+rsmd.getColumnName(i)+"</th>");
}
while (rs.next()) {
...
SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy-MM-dd");
Date mgrStartDate = rs.getDate(4);
// Date를 처리하기 위한 객체
}
%>
</body>