본문 바로가기

JSP/Model 2

JSP Model 2 예제1

form.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>검색기간 입력</title>
</head>
<body>
<form method="post" action="formProc.jsp">
<input type="text" name="date1" value="1980-01-01"><br>
<input type="text" name="date2" value="1982-12-31"><br>
<input type="submit" value="SUBMIT">
</form>
</body>
</html>


formProc.jsp

<%@ page contentType="text/html;charset=euc-kr"%>
<%@ page import="java.util.*" %>

<jsp:useBean id="empdao" class="sample.EmpDAO" scope="page">
 <jsp:setProperty name="empdao" property="*"/>
<% Vector<Hashtable<String, String>> v = empdao.getEMP(); %>
<% request.setAttribute("v", v); %>
<jsp:forward page="/empView.jsp"/>
</jsp:useBean>


EmpDAO.java

package sample;

import java.sql.*;
import java.util.Vector;
import java.util.Hashtable;

public class EmpDAO {
 
 private String date1, date2;
 private String jdbc_driver = "oracle.jdbc.OracleDriver";
 private String db_url = "jdbc:oracle:thin:@localhost:1521:ORA9I";
 
 public Vector<Hashtable<String, String>> getEMP()throws ClassNotFoundException, SQLException {
  Class.forName(jdbc_driver);
  Connection conn = DriverManager.getConnection(db_url,"scott","tiger");
  Date dt1 = Date.valueOf(date1);
  Date dt2 = Date.valueOf(date2);
  String sql = "select EMPNO, ENAME, JOB, MGR, HIREDATE from emp where hiredate between ? and ?";
  PreparedStatement pstmt = conn.prepareStatement(sql);
  pstmt.setDate(1, dt1);
  pstmt.setDate(2, dt2);
  ResultSet rs = pstmt.executeQuery();
  Vector<Hashtable<String, String>> v = new Vector<Hashtable<String, String>>();
  Hashtable<String, String> ht = null;
  while(rs.next()){
   ht = new Hashtable<String, String>();
   ht.put("EMPNO", rs.getString(1));
   ht.put("ENAME", rs.getString(2));
   ht.put("JOB", rs.getString(3));
   String mgr = rs.getString("MGR");
   ht.put("MGR", mgr==null ? "&nbsp;" : mgr);
   ht.put("HIREDATE", rs.getString(5));
   v.add(ht);
  }
  rs.close();
  pstmt.close();
  conn.close();
  return v;
 }
 
 public void setDate1(String date1){
  this.date1=date1;
 }
 
 public void setDate2(String date2){
  this.date2=date2;
 }
}


empView.jsp

<%@ page contentType="text/html;charset=KSC5601"%>
<%@ page import="java.util.*"%>
<%
 Vector<Hashtable<String, String>> v = null;
 v = (Vector<Hashtable<String, String>>)request.getAttribute("v");
%>

<html>
<head><title>EMP View Page</title></head>
<body>
<center>
 <table border="1" cellspacing="0">
 <tr>
 <th>EMPNO</th><th>ENAME</th><th>JOB</th><th>MGR</th><th>HIREDATE</th>
 </tr>
  <%
  int i = 0;
  String bgColor=null;
  for(int j=0;j<v.size();j++) {
   i++;
   if(i%2!=0) bgColor="#CCFFFF";
   else bgColor="#FFFFFF";
   Hashtable<String, String> ht = v.get(j);
  %>
   <tr bgcolor="<%=bgColor %>">
 <td><%=ht.get("EMPNO")%></td><td><%=ht.get("ENAME")%></td><td><%=ht.get("JOB")%></td>
    <td><%=ht.get("MGR")%></td><td><%=ht.get("HIREDATE")%><br>
   </tr>
<% }%>
</table>
</center>
</body>
</html>