Web基礎之Servlet+JDBC+JSP專案實戰記錄(一)
阿新 • • 發佈:2019-01-07
前臺頁面用JSP書寫(JSP是實現動態頁面效果的技術之一,因為JSP裡面可以嵌入Java程式碼;還記得Request作用域嗎?我們首先需要將查詢出來的結果儲存到Request作用域中。然後通過在伺服器端執行JSP後生成響應正文給客戶端;這裡需要明白的是,JSP裡面的Java程式碼是在伺服器端執行完畢後,才通過響應正文到達客戶端;平時我們自己寫得html頁面訪問的是本地的資源,就相當於在本地打開了一份Word文件;JSP這部分後面會有詳解;)package com.huaxin.dao; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; import com.huaxin.bean.ClassInfoBean; public class ClassInfoDao { static { // 載入資料庫驅動 try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } } public void addClassInfo(ClassInfoBean bean) { Connection conn = null; Statement stmt = null; try { // 獲取資料庫連線 conn = DriverManager .getConnection("jdbc:mysql://localhost:3306/studentsystem?useUnicode=true&characterEncoding=UTF-8", "root", "zhou"); // 整理一條SQL語句 String sql = "INSERT INTO class_info (cname) VALUES ('" + bean.getCname() + "')"; // 建立SQL執行物件 stmt = conn.createStatement(); // 執行sql語句 int row = stmt.executeUpdate(sql); if (row != 1) { throw new RuntimeException("新增班級失敗!"); } } catch (SQLException e) { e.printStackTrace(); } finally { if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } if (stmt != null) { try { stmt.close(); } catch (SQLException e) { e.printStackTrace(); } } } } public List<ClassInfoBean> findAll() { Connection conn = null; Statement stmt = null; List<ClassInfoBean> classList= new ArrayList<ClassInfoBean>(); try { // 獲取連線 conn = DriverManager .getConnection("jdbc:mysql://localhost:3306/studentsystem?useUnicode=true&characterEncoding=UTF-8", "root", "zhou"); // 整理一條SQL語句 String sql = "select cid,cname from class_info"; // 建立執行sql的物件 stmt = conn.createStatement(); //執行sql語句 ResultSet rs =stmt.executeQuery(sql); //遍歷結果集 while(rs.next()){ int cid =rs.getInt("cid"); String cname=rs.getString("cname"); ClassInfoBean bean = new ClassInfoBean(); bean.setCid(cid); bean.setCname(cname); classList.add(bean); } } catch (SQLException e) { e.printStackTrace(); } return classList; } }