javabean+jsp+servlet+jdbc從軟體安裝到開發例項
阿新 • • 發佈:2018-12-09
javabean\jsp\servlet\jdbc的作用:
JavaBean:用於傳遞資料,擁有與資料相關的邏輯處理。JSP:從Model接收資料並生成HTML。Servlet:接收HTTP請求並控制Model和View。jdbc:用於配置環境
首先新建course的資料庫:包含name,teacher,classroom,id等欄位。
原始碼及包的分佈
package com.hjf.dao; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; importjava.sql.Statement; import java.util.ArrayList; import java.util.List; import com.hjf.entity.Course; import com.hjf.util.DBUtil; /** * 課程Dao * Dao層操作資料 * @author Hu * */ public class CourseDao { /** * 新增 * @param course * @return */ public boolean add(Course course) { String sql= "insert into course(name, teacher, classroom) values('" + course.getName() + "','" + course.getTeacher() + "','" + course.getClassroom() + "')"; //建立資料庫連結 Connection conn = DBUtil.getConn(); Statement state = null; boolean f = false; int a = 0;try { state = conn.createStatement(); state.executeUpdate(sql); } catch (Exception e) { e.printStackTrace(); } finally { //關閉連線 DBUtil.close(state, conn); } if (a > 0) { f = true; } return f; } /** * 刪除 * * @param id * @return */ public boolean delete (int id) { boolean f = false; String sql = "delete from course where id='" + id + "'"; Connection conn = DBUtil.getConn(); Statement state = null; int a = 0; try { state = conn.createStatement(); a = state.executeUpdate(sql); } catch (SQLException e) { e.printStackTrace(); } finally { DBUtil.close(state, conn); } if (a > 0) { f = true; } return f; } /** * 修改 * @param name * @param pass */ public boolean update(Course course) { String sql = "update course set name='" + course.getName() + "', teacher='" + course.getTeacher() + "', classroom='" + course.getClassroom() + "' where id='" + course.getId() + "'"; Connection conn = DBUtil.getConn(); Statement state = null; boolean f = false; int a = 0; try { state = conn.createStatement(); a = state.executeUpdate(sql); } catch (SQLException e) { e.printStackTrace(); } finally { DBUtil.close(state, conn); } if (a > 0) { f = true; } return f; } /** * 驗證課程名稱是否唯一 * true --- 不唯一 * @param name * @return */ public boolean name(String name) { boolean flag = false; String sql = "select name from course where name = '" + name + "'"; Connection conn = DBUtil.getConn(); Statement state = null; ResultSet rs = null; try { state = conn.createStatement(); rs = state.executeQuery(sql); while (rs.next()) { flag = true; } } catch (SQLException e) { e.printStackTrace(); } finally { DBUtil.close(rs, state, conn); } return flag; } /** * 通過ID得到課程資訊 * @param id * @return */ public Course getCourseById(int id) { String sql = "select * from course where id ='" + id + "'"; Connection conn = DBUtil.getConn(); Statement state = null; ResultSet rs = null; Course course = null; try { state = conn.createStatement(); rs = state.executeQuery(sql); while (rs.next()) { String name = rs.getString("name"); String teacher = rs.getString("teacher"); String classroom = rs.getString("classroom"); course = new Course(id, name, teacher, classroom); } } catch (Exception e) { e.printStackTrace(); } finally { DBUtil.close(rs, state, conn); } return course; } /** * 通過name得到Course * @param name * @return */ public Course getCourseByName(String name) { String sql = "select * from course where name ='" + name + "'"; Connection conn = DBUtil.getConn(); Statement state = null; ResultSet rs = null; Course course = null; try { state = conn.createStatement(); rs = state.executeQuery(sql); while (rs.next()) { int id = rs.getInt("id"); String teacher = rs.getString("teacher"); String classroom = rs.getString("classroom"); course = new Course(id, name, teacher, classroom); } } catch (Exception e) { e.printStackTrace(); } finally { DBUtil.close(rs, state, conn); } return course; } /** * 查詢 * @param name * @param teacher * @param classroom * @return */ public List<Course> search(String name, String teacher, String classroom) { String sql = "select * from course where "; if (name != "") { sql += "name like '%" + name + "%'"; } if (teacher != "") { sql += "teacher like '%" + teacher + "%'"; } if (classroom != "") { sql += "classroom like '%" + classroom + "%'"; } List<Course> list = new ArrayList<>(); Connection conn = DBUtil.getConn(); Statement state = null; ResultSet rs = null; try { state = conn.createStatement(); rs = state.executeQuery(sql); Course bean = null; while (rs.next()) { int id = rs.getInt("id"); String name2 = rs.getString("name"); String teacher2 = rs.getString("teacher"); String classroom2 = rs.getString("classroom"); bean = new Course(id, name2, teacher2, classroom2); list.add(bean); } } catch (SQLException e) { e.printStackTrace(); } finally { DBUtil.close(rs, state, conn); } return list; } /** * 全部資料 * @param name * @param teacher * @param classroom * @return */ public List<Course> list() { String sql = "select * from course"; List<Course> list = new ArrayList<>(); Connection conn = DBUtil.getConn(); Statement state = null; ResultSet rs = null; try { state = conn.createStatement(); rs = state.executeQuery(sql); Course bean = null; while (rs.next()) { int id = rs.getInt("id"); String name2 = rs.getString("name"); String teacher2 = rs.getString("teacher"); String classroom2 = rs.getString("classroom"); bean = new Course(id, name2, teacher2, classroom2); list.add(bean); } } catch (SQLException e) { e.printStackTrace(); } finally { DBUtil.close(rs, state, conn); } return list; } }
package com.hjf.entity; public class Course { private int id; private String name; private String teacher; private String classroom; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getTeacher() { return teacher; } public void setTeacher(String teacher) { this.teacher = teacher; } public String getClassroom() { return classroom; } public void setClassroom(String classroom) { this.classroom = classroom; } public Course() {} public Course(int id, String name, String teacher, String classroom) { this.id = id; this.name = name; this.teacher = teacher; this.classroom = classroom; } public Course(String name, String teacher, String classroom) { this.name = name; this.teacher = teacher; this.classroom = classroom; } }
package com.hjf.service; import java.util.List; import com.hjf.dao.CourseDao; import com.hjf.entity.Course; /** * CourseService * 服務層 * @author Hu * */ public class CourseService { CourseDao cDao = new CourseDao(); /** * 新增 * @param course * @return */ public boolean add(Course course) { boolean f = false; if(!cDao.name(course.getName())) { cDao.add(course); f = true; } return f; } /** * 刪除 */ public void del(int id) { cDao.delete(id); } /** * 修改 * @return */ public void update(Course course) { cDao.update(course); } /** * 通過ID得到一個Course * @return */ public Course getCourseById(int id) { return cDao.getCourseById(id); } /** * 通過Name得到一個Course * @return */ public Course getCourseByName(String name) { return cDao.getCourseByName(name); } /** * 查詢 * @return */ public List<Course> search(String name, String teacher, String classroom) { return cDao.search(name, teacher, classroom); } /** * 全部資料 * @return */ public List<Course> list() { return cDao.list(); } }
package com.hjf.servlet; import java.io.IOException; import java.util.List; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.hjf.entity.Course; import com.hjf.service.CourseService; @WebServlet("/CourseServlet") public class CourseServlet extends HttpServlet { private static final long serialVersionUID = 1L; CourseService service = new CourseService(); /** * 方法選擇 */ protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("utf-8"); String method = req.getParameter("method"); if ("add".equals(method)) { add(req, resp); } else if ("del".equals(method)) { del(req, resp); } else if ("update".equals(method)) { update(req, resp); } else if ("search".equals(method)) { search(req, resp); } else if ("getcoursebyid".equals(method)) { getCourseById(req, resp); } else if ("getcoursebyname".equals(method)) { getCourseByName(req, resp); } else if ("list".equals(method)) { list(req, resp); } } /** * 新增 * @param req * @param resp * @throws IOException * @throws ServletException */ private void add(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException { req.setCharacterEncoding("utf-8"); //獲取資料 String name = req.getParameter("name"); String teacher = req.getParameter("teacher"); String classroom = req.getParameter("classroom"); Course course = new Course(name, teacher, classroom); //新增後訊息顯示 if(service.add(course)) { req.setAttribute("message", "新增成功"); req.getRequestDispatcher("add.jsp").forward(req,resp); } else { req.setAttribute("message", "課程名稱重複,請重新錄入"); req.getRequestDispatcher("add.jsp").forward(req,resp); } } /** * 全部 * @param req * @param resp * @throws ServletException */ private void list(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{ req.setCharacterEncoding("utf-8"); List<Course> courses = service.list(); req.setAttribute("courses", courses); req.getRequestDispatcher("list.jsp").forward(req,resp); } /** * 通過ID得到Course * @param req * @param resp * @throws ServletException */ private void getCourseById(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{ req.setCharacterEncoding("utf-8"); int id = Integer.parseInt(req.getParameter("id")); Course course = service.getCourseById(id); req.setAttribute("course", course); req.getRequestDispatcher("detail2.jsp").forward(req,resp); } /** * 通過名字查詢 * 跳轉至刪除 * @param req * @param resp * @throws IOException * @throws ServletException */ private void getCourseByName(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{ req.setCharacterEncoding("utf-8"); String name = req.getParameter("name"); Course course = service.getCourseByName(name); if(course == null) { req.setAttribute("message", "查無此課程!"); req.getRequestDispatcher("del.jsp").forward(req,resp); } else { req.setAttribute("course", course); req.getRequestDispatcher("detail.jsp").forward(req,resp); } } /** * 刪除 * @param req * @param resp * @throws IOException * @throws ServletException */ private void del(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{ req.setCharacterEncoding("utf-8"); int id = Integer.parseInt(req.getParameter("id")); service.del(id); req.setAttribute("message", "刪除成功!"); req.getRequestDispatcher("del.jsp").forward(req,resp); } /** * 修改 * @param req * @param resp * @throws IOException * @throws ServletException */ private void update(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{ req.setCharacterEncoding("utf-8"); int id = Integer.parseInt(req.getParameter("id")); String name = req.getParameter("name"); String teacher = req.getParameter("teacher"); String classroom = req.getParameter("classroom"); Course course = new Course(id, name, teacher, classroom); service.update(course); req.setAttribute("message", "修改成功"); req.getRequestDispatcher("CourseServlet?method=list").forward(req,resp); } /** * 查詢 * @param req * @param resp * @throws ServletException */ private void search(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{ req.setCharacterEncoding("utf-8"); String name = req.getParameter("name"); String teacher = req.getParameter("teacher"); String classroom = req.getParameter("classroom"); List<Course> courses = service.search(name, teacher, classroom); req.setAttribute("courses", courses); req.getRequestDispatcher("searchlist.jsp").forward(req,resp); } }
package com.hjf.util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; /** * 資料庫連線工具 * @author Hu * */ public class DBUtil { public static String db_url = "jdbc:mysql://localhost:3306/course?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false"; public static String db_user = "root"; public static String db_pass = "123456"; public static Connection getConn () { Connection conn = null; try { Class.forName("com.mysql.cj.jdbc.Driver");//載入驅動 conn = DriverManager.getConnection(db_url, db_user, db_pass); System.out.println("資料庫連結正常"); } catch (Exception e) { e.printStackTrace(); } return conn; } /** * 關閉連線 * @param state * @param conn */ public static void close (Statement state, Connection conn) { if (state != null) { try { state.close(); } catch (SQLException e) { e.printStackTrace(); } } if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } public static void close (ResultSet rs, Statement state, Connection conn) { if (rs != null) { try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } if (state != null) { try { state.close(); } catch (SQLException e) { e.printStackTrace(); } } if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } public static void main(String[] args) throws SQLException { Connection conn = getConn(); PreparedStatement pstmt = null; ResultSet rs = null; String sql ="select * from course"; pstmt = conn.prepareStatement(sql); rs = pstmt.executeQuery(); if(rs.next()){ System.out.println("空"); }else{ System.out.println("不空"); } } }
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%--設定頁面的指令碼支援語言為java—匯入util包中的類—申明編碼方式為UTF-8--%> <% request.setCharacterEncoding("UTF-8"); //設定響應的編碼為UTF-8 response.setCharacterEncoding("UTF-8"); //設定響應的編碼為UTF-8 %> <% String path = request.getContextPath(); //相對Path設定 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; //相對Path設定 %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <%--文件宣告--%> <html> <head> <title>課程資訊錄入 </title> <%--頁面標題--%> <body> <div id="Layer1" style="position:absolute; width:100%; height:100%; z-index:-1"> <img src="C:\Users\FuHeishi826\Desktop\課程實驗\Extreme\background.jpg" height="100%" width="100%"/> </div> <script type="text/javascript" language="JavaScript"> //JS function validate() { var name = document.forms[0].name.value; //建立變數name var teacher = document.forms[0].teacher.value; //建立變數teacher var local = document.forms[0].local.value; //建立變數address if(name.length <= 0){ //判斷姓名位數,必填 alert("課程名稱不能為空,請輸入課程名稱!"); return false; } if(teacher.value != '王建民' && teacher.value != '王輝' && teacher.value != '劉丹' && teacher.value != '劉立嘉' && teacher.value != '楊子光'){ alert('教師名稱錯誤'); return false; } if(!/^基教/.test(local.value) && !/^一教/.test(local.value) && !/^二教/.test(local.value) && !/^三教/.test(local.value)) { alert('上課地點錯誤'); return false; } //document.getElementById("form").submit(); } </script> </head> <body> <div id="Layer1" style="position:absolute; width:100%; height:100%; z-index:-1"> <img src="C:\Users\FuHeishi826\Desktop\課程實驗\Extreme\background.jpg" height="100%" width="100%"/> </div> <br><%--換行--%> <center> <h2>課程資訊錄入</h2><hr size="1" noshade color="#000000"><%--橫線--%> <form action="insert.jsp" method="post" id="form" onSubmit="return validate()" ><%--跳轉到insert.jsp檔案,方法為post--%> <table width="800" border="0" align="center"> <%--表格的寬為800,居中對齊--%> <tr> <td>課程名稱: <input type="text" name="name"></td> </tr> <tr> <td>授課教師: <input type="text" name="teacher"></td> </tr> <tr> <td>教學地點: <input type="text" name="local"> </td> </tr> <tr> <td> <input name="submit" type="submit" value="儲存"/></td> </tr> </table> <p> </p> </form> <a href="showInfo.jsp">查詢所有課程資訊</a> <%--連結到學生資訊查詢頁面--%> </center> </body> </html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%--設定頁面的指令碼支援語言為java—匯入util包中的類—申明編碼方式為UTF-8--%> <%@ page import="java.sql.*"%> <%--匯入java中的sql包--%> <%@page import="com.javao.msg.DBUtil"%> <% request.setCharacterEncoding("UTF-8"); //設定響應的編碼為UTF-8 response.setCharacterEncoding("UTF-8"); //設定響應的編碼為UTF-8 %> <% String path = request.getContextPath(); //相對Path設定 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; //相對Path設定 %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <%--文件宣告--%> <html> <head> <base href="<%=basePath%>"> <%--設定基礎路徑--%> <title>刪除頁面</title> <%--頁面標題--%> </head> <body> <div id="Layer1" style="position:absolute; width:100%; height:100%; z-index:-1"> <img src="C:\Users\FuHeishi826\Desktop\課程實驗\Extreme\background.jpg" height="100%" width="100%"/> </div> <% request.setCharacterEncoding("UTF-8"); //設定響應的編碼為UTF-8 String name = request.getParameter("name"); Connection conn = null; //定義靜態資料庫連線 //定義靜態資料庫連線 Statement stat = null; ResultSet rs = null; //將rs滯空。 conn = DBUtil.getConnection(); stat = conn.createStatement(); stat.executeUpdate("delete from data where name = '" + name + "'"); //刪除data表中的name欄位 rs = stat.executeQuery("select * from data"); //查詢data表 if(rs.next()) //判斷結果集 { out.print("<center><br><br><h3>刪除成功!</h3></center>"); } else{ out.print("<center><h3>刪除失敗!</h3></center>"); } %> <br> <br> <center><a href=addStuInfo.jsp>返回新增資訊頁面</a><br/><br/><a href=showInfo.jsp>返回資訊查詢頁面</a></center> <%--設定居中--%> <% if(rs != null) { rs.close(); //關閉結果集,但是rs還是有null值。 rs = null; //將rs滯空。 } if(stat != null) { stat.close(); //關閉stat。 stat = null; //滯空stat。 } if(conn != null) { conn.close(); //關閉資料庫連線 conn = null; } %> </body> </html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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=UTF-8">
<title>Welcome!</title>
</head>
<h1>歡迎來到石家莊鐵道大學課程基本資訊管理系統</h1><br/><br/>
<body>
<div id="Layer1" style="position:absolute; width:100%; height:100%; z-index:-1">
<img src="C:\Users\FuHeishi826\Desktop\課程實驗\Extreme\background.jpg" height="100%" width="100%"/>
</div> <br/><br/>
<p align="center">
<a href = "addStuInfo.jsp">課程資訊錄入</a><br/><br/>
<a href = "showInfo.jsp">課程資訊修改</a><br/><br/>
<a href = "showInfo.jsp">刪除課程資訊</a><br/><br/>
<a href = "showInfo.jsp">查詢課程資訊</a><br/><br/>
</p>
</body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%--設定頁面的指令碼支援語言為java—匯入util包中的類—申明編碼方式為UTF-8--%> <%@ page import="java.sql.*"%> <%--匯入java中的sql包--%> <%@page import="com.javao.msg.DBUtil"%> <% request.setCharacterEncoding("UTF-8"); //設定響應的編碼為UTF-8 response.setCharacterEncoding("UTF-8"); //設定響應的編碼為UTF-8 %> <% String path = request.getContextPath(); //相對Path設定 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; //相對Path設定 %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <%--文件宣告--%> <html> <head> <base href="<%=basePath%>"> <%--設定基礎路徑,basepath為變數--%> <title>新增課程資訊</title> <%--頁面標題--%> </head> <body> <div id="Layer1" style="position:absolute; width:100%; height:100%; z-index:-1"> <img src="C:\Users\FuHeishi826\Desktop\課程實驗\Extreme\background.jpg" height="100%" width="100%"/> </div> <% request.setCharacterEncoding("UTF-8"); //設定響應的編碼為UTF-8 String name1 = request.getParameter("name"); String teacher = request.getParameter("teacher"); String local = request.getParameter("local"); Connection conn = null; //定義靜態資料庫連線 Statement stat = null; ResultSet rs = null; //將rs滯空。 conn = DBUtil.getConnection(); stat = conn.createStatement(); //String sql = ; //向對應的資料欄位新增資料 stat.executeUpdate("insert into data(name,teacher,local) values('" + name1 + "','" + teacher + "','" + local + "')"); rs = stat.executeQuery("select * from data"); //查詢data表 %> <center> <% if(rs.next()) { out.print("<br><h3>課程資訊新增成功!</h3>"); } else{ out.print("<br><h3>課程資訊新增失敗!</h3>"); } %> <br> <a href=addStuInfo.jsp>返回課程資訊新增頁面</a><br/><br/> <a href=showInfo.jsp>進入課程資訊查詢頁面</a> </center> <% if(rs != null) { rs.close(); //關閉結果集,但是rs還是有null值。 rs = null; //將rs滯空。 } if(stat != null) { stat.close(); //關閉stat。 stat = null; //滯空stat。 } if(conn != null) { conn.close(); //關閉資料庫連線 conn = null; } %> </body> </html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%--設定頁面的指令碼支援語言為java—匯入util包中的類—申明編碼方式為UTF-8--%> <%@ page import="java.sql.*"%> <%--匯入java中的sql包--%> <%@page import="com.javao.msg.DBUtil"%> <% request.setCharacterEncoding("UTF-8"); //設定響應的編碼為UTF-8 response.setCharacterEncoding("UTF-8"); //設定響應的編碼為UTF-8 %> <% String path = request.getContextPath(); //相對Path設定 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; //相對Path設定 %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <%--文件宣告--%> <html> <head> <base href="<%=basePath%>"> <%--設定基礎路徑,basepath為變數--%> <title>按教學地點條件查詢</title> <%--頁面標題--%> </head> <body> <div id="Layer1" style="position:absolute; width:100%; height:100%; z-index:-1"> <img src="C:\Users\FuHeishi826\Desktop\課程實驗\Extreme\background.jpg" height="100%" width="100%"/> </div> <% String local = request.getParameter("local"); Connection conn = null; //定義靜態資料庫連線 Statement stat = null; //滯空stat。 ResultSet rs = null; //將rs滯空。 conn = DBUtil.getConnection(); stat = conn.createStatement(); rs = stat.executeQuery("select * from data where local='" + local + "'");//查詢data表name欄位 %> <br> <h3>符合條件的課程資訊</h3> <%--標題樣式3--%> <hr noshade> <br> <table width="450" border="100" cellSpacing=1 style="font-size:15pt;border:dashed 1pt"> <%--表格寬度450--%> <tr> <td>課程名稱</td> <td>授課教師</td> <td>教學地點</td> </tr> <% if(rs.next()) { out.print("<tr>"); out.print("<td>" + rs.getString("name") + "</td>"); //輸出name內容 out.print("<td>" + rs.getString("teacher") + "</td>"); //輸出age內容 out.print("<td>" + rs.getString("local") + "</td>"); //輸出gender內容 %> <td><a href="delete.jsp?name=<%=rs.getString("name") %>">刪除</a></td> <td><a href="update.jsp?name=<%=rs.getString("name") %>">修改</a></td> <% out.print("</tr>"); } else{ out.print("<h4>不存在此條件的資訊!</h4>"); } %> </table> <br> <a href=showInfo.jsp>返回課程資訊查詢頁面</a> <% if(rs != null) { rs.close(); //關閉結果集,但是rs還是有null值。 rs = null; //將rs滯空。 } if(stat != null) //判斷stat是否滯空。 { stat.close(); //關閉stat。 stat = null; //滯空stat。 } if(conn != null) { conn.close(); //關閉資料庫連線 conn = null; } %> </body> </html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%--設定頁面的指令碼支援語言為java—匯入util包中的類—申明編碼方式為UTF-8--%> <%@ page import="java.sql.*"%> <%--匯入java中的sql包--%> <%@page import="com.javao.msg.DBUtil"%> <% request.setCharacterEncoding("UTF-8"); //設定響應的編碼為UTF-8 response.setCharacterEncoding("UTF-8"); //設定響應的編碼為UTF-8 %> <% String path = request.getContextPath(); //相對Path設定 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; //相對Path設定 %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <%--文件宣告--%> <html> <head> <base href="<%=basePath%>"> <%--設定基礎路徑,basepath為變數--%> <title>按課程名稱條件查詢</title> <%--頁面標題--%> </head> <body> <div id="Layer1" style="position:absolute; width:100%; height:100%; z-index:-1"> <img src="C:\Users\FuHeishi826\Desktop\課程實驗\Extreme\background.jpg" height="100%" width="100%"/> </div> <% String name = request.getParameter("name"); Connection conn = null; //定義靜態資料庫連線 Statement stat = null; //滯空stat。 ResultSet rs = null; //將rs滯空。 conn = DBUtil.getConnection(); stat = conn.createStatement(); rs = stat.executeQuery("select * from data where name='" + name + "'");//查詢data表name欄位 %> <br> <h3>符合條件的課程資訊</h3> <%--標題樣式3--%> <hr noshade> <br> <table width="450" border="100" cellSpacing=1 style="font-size:15pt;border:dashed 1pt"> <%--表格寬度450--%> <tr> <td>課程名稱</td> <td>授課教師</td> <td>教學地點</td> </tr> <% if(rs.next()) { out.print("<tr>"); out.print("<td>" + rs.getString("name") + "</td>"); //輸出name內容 out.print("<td>" + rs.getString("teacher") + "</td>"); //輸出age內容 out.print("<td>" + rs.getString("local") + "</td>"); //輸出gender內容 %> <td><a href="delete.jsp?name=<%=rs.getString("name") %>">刪除</a></td> <td><a href="update.jsp?name=<%=rs.getString("name") %>">修改</a></td> <% out.print("</tr>"); } else{ out.print("<h4>不存在此條件的資訊!</h4>"); } %> </table> <br> <a href=showInfo.jsp>返回課程資訊查詢頁面</a> <% if(rs != null) { rs.close(); //關閉結果集,但是rs還是有null值。 rs = null; //將rs滯空。 } if(stat != null) //判斷stat是否滯空。 { stat.close(); //關閉stat。 stat = null; //滯空stat。 } if(conn != null) { conn.close(); //關閉資料庫連線 conn = null; } %> </body> </html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%--設定頁面的指令碼支援語言為java—匯入util包中的類—申明編碼方式為UTF-8--%> <%@ page import="java.sql.*"%> <%--匯入java中的sql包--%> <%@page import="com.javao.msg.DBUtil"%> <% request.setCharacterEncoding("UTF-8"); //設定響應的編碼為UTF-8 response.setCharacterEncoding("UTF-8"); //設定響應的編碼為UTF-8 %> <% String path = request.getContextPath(); //相對Path設定 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; //相對Path設定 %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <%--文件宣告--%> <html> <head> <base href="<%=basePath%>"> <%--設定基礎路徑,basepath為變數--%> <title>按授課教師條件查詢</title> <%--頁面標題--%> </head> <body> <div id="Layer1" style="position:absolute; width:100%; height:100%; z-index:-1"> <img src="C:\Users\FuHeishi826\Desktop\課程實驗\Extreme\background.jpg" height="100%" width="100%"/> </div> <% String teacher = request.getParameter("teacher"); Connection conn = null; //定義靜態資料庫連線 Statement stat = null; //滯空stat。 ResultSet rs = null; //將rs滯空。 conn = DBUtil.getConnection(); stat = conn.createStatement(); rs = stat.executeQuery("select * from data where teacher='" + teacher + "'");//查詢data表name欄位 %> <br> <h3>符合條件的課程資訊</h3> <%--標題樣式3--%> <hr noshade> <br> <table width="450" border="100" cellSpacing=1 style="font-size:15pt;border:dashed 1pt"> <%--表格寬度450--%> <tr> <td>課程名稱</td> <td>授課教師</td> <td>教學地點</td> </tr> <% if(rs.next()) { out.print("<tr>"); out.print("<td>" + rs.getString("name") + "</td>"); //輸出name內容 out.print("<td>" + rs.getString("teacher") + "</td>"); //輸出age內容 out.print("<td>" + rs.getString("local") + "</td>"); //輸出gender內容 %> <td><a href="delete.jsp?name=<%=rs.getString("name") %>">刪除</a></td> <td><a href="update.jsp?name=<%=rs.getString("name") %>">修改</a></td> <% out.print("</tr>"); } else{ out.print("<h4>不存在此條件的資訊!</h4>"); } %> </table> <br> <a href=showInfo.jsp>返回課程資訊查詢頁面</a> <% if(rs != null) { rs.close(); //關閉結果集,但是rs還是有null值。 rs = null; //將rs滯空。 } if(stat != null) //判斷stat是否滯空。 { stat.close(); //關閉stat。 stat = null; //滯空stat。 } if(conn != null) { conn.close(); //關閉資料庫連線 conn = null; } %> </body> </html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%--設定頁面的指令碼支援語言為java—匯入util包中的類—申明編碼方式為UTF-8--%> <%@ page import="java.sql.*"%> <%--匯入java中的sql包--%> <%@page import="com.javao.msg.DBUtil"%> <% request.setCharacterEncoding("UTF-8"); //設定響應的編碼為UTF-8 response.setCharacterEncoding("UTF-8"); //設定響應的編碼為UTF-8 %> <% String path = request.getContextPath(); //相對Path設定 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; //相對Path設定 %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <%--文件宣告--%> <html> <head> <title>課程資訊</title> <%--頁面標題--%> </head> <body> <div id="Layer1" style="position:absolute; width:100%; height:100%; z-index:-1"> <img src="C:\Users\FuHeishi826\Desktop\課程實驗\Extreme\background.jpg" height="100%" width="100%"/> </div> <% response.setCharacterEncoding("UTF-8"); //設定響應的編碼為UTF-8 request.setCharacterEncoding("UTF-8"); //設定響應的編碼為UTF-8 String name = request.getParameter("name"); String teacher = request.getParameter("teacher"); String address = request.getParameter("local"); Connection conn = null; //定義靜態資料庫連線 Statement stat = null; ResultSet rs = null; //將rs滯空。 conn = DBUtil.getConnection(); stat = conn.createStatement(); rs = stat.executeQuery("select * from data"); //查詢data表 %> <br> <h2>課程資訊</h2> <%--標題樣式2--%> <hr noshade> <br> <h3>全部課程資訊如下</h3> <%--標題樣式3--%> <table width="562" border="100" cellSpacing=3 style="font-size:15pt;border:dashed 1pt"> <%--表格寬度450--%> <tr> <td width="110">課程名稱</td> <td width="110">授課教師</td> <td width="211">教學地點</td> </tr> <% while(rs.next()) { out.print("<tr>"); out.print("<td>" + rs.getString("name") + "</td>"); //輸出name內容 out.print("<td>" + rs.getString("teacher") + "</td>"); //輸出gender內容 out.print("<td>" + rs.getString("local") + "</td>"); //輸出major內容 %> <td><a href="delete.jsp?name=<%=rs.getString("name") %>">刪除</a></td> <td><a href="update.jsp?name=<%=rs.getString("name") %>">修改</a></td> <% out.print("</tr>"); } %> </table> <br> <form action="select_for_name.jsp" method="post"> <%--post方法跳轉到select_for_age.jsp檔案--%> <h3>按課程名稱查詢: <input type="text" name="name" value="" title="課程名稱不能為空" ></input> <input type="submit" value="查詢"/> <br> </h3> </form> <form action="select_for_teacher.jsp" method="post"> <%--post方法跳轉到select_for_gender.jsp檔案--%> <h3> 按授課教師查詢: <input type="text" name="teacher" value="" title="授課教師"></input> <input type="submit" value="查詢"/> <br> </h3> </form> <form action="select_for_local.jsp" method="post"> <%--post方法跳轉到select_for_major.jsp檔案--%> <h3> 按教學地點查詢: <input type="text" name="local" value="" title="教學地點"></input> <input type="submit" value="查詢"/> <br> </h3> </form> <a href=addStuInfo.jsp>返回新增課程資訊頁面</a> <% if(rs != null) { rs.close(); //關閉結果集,但是rs還是有null值。 rs = null; //將rs滯空。 } if(stat != null) { stat.close(); //關閉stat。 stat = null; //滯空stat。 } if(conn != null) { conn.close(); //關閉資料庫連線 conn = null; } %> </body> </html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%--設定頁面的指令碼支援語言為java—匯入util包中的類—申明編碼方式為UTF-8--%> <%@ page import="java.sql.*"%> <%--匯入java中的sql包--%> <%@page import="com.javao.msg.DBUtil"%> <% request.setCharacterEncoding("UTF-8"); //設定響應的編碼為UTF-8 response.setCharacterEncoding("UTF-8"); //設定響應的編碼為UTF-8 %> <% String path = request.getContextPath(); //相對Path設定 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; //相對Path設定 %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <%--文件宣告--%> <html> <head> <title>課程資訊</title> <%--頁面標題--%> <body> <div id="Layer1" style="position:absolute; width:100%; height:100%; z-index:-1"> <img src="C:\Users\FuHeishi826\Desktop\課程實驗\Extreme\background.jpg" height="100%" width="100%"/> </div> <%--JS--%> <script type="text/javascript""> function validate() { var name = document.forms[0].name.value; var teacher = document.forms[0].age.value; var local = document.forms[0].major.value; if(name.length <= 0){ alert("姓名不能為空,請輸入姓名!"); return false; } else if(teacher.length <= 0){ alert("請輸入正確教師姓名!"); return false; } else if(local.length <= 0){ alert("教學地點不能為空,請輸入正確教學地點!"); return false; } else{ return true; } //document.getElementById("form").submit(); } </script> </head> <body background="img/background.jpg"> <% response.setCharacterEncoding("UTF-8"); //設定響應的編碼為UTF-8 request.setCharacterEncoding("UTF-8"); //設定響應的編碼為UTF-8 String name = request.getParameter("name"); String teacher = request.getParameter("teacher"); String local = request.getParameter("local"); Connection conn = null; //定義靜態資料庫連線 Statement stat = null; //滯空stat。 ResultSet rs = null; //將rs滯空。 conn = DBUtil.getConnection(); stat = conn.createStatement(); rs = stat.executeQuery("select * from data where name='" + name + "'"); //查詢data表id欄位 %> <br> <h2>課程資訊</h2> <hr noshade> <br> <h3>要修改的課程資訊如下</h3> <table width="450" border="0" cellpadding="1" cellSpacing=1 style="font-size:15pt;border:dashed 1pt"> <tr align="center"> <td>課程名稱</td> <td>授課教師</td> <td>教學地點</td> </tr> <% while(rs.next()) { out.print("<tr align='center'>"); //居中對齊 out.print("<td>" + rs.getString("name") + "</td>"); //輸出name內容 out.print("<td>" + rs.getString("teacher") + "</td>"); //輸出gender內容 out.print("<td>" + rs.getString("local") + "</td>"); //輸出major內容 out.print("</tr>"); %> </table> <br> <br> <h3>將學生資訊更改為:</h3> <form action="updateShow.jsp" method="post" onSubmit="return validate()"> <h4>課程名稱:<input type="text" name="name" value="<%=rs.getString("name") %>" title="課程名稱不能改變" onClick="return checkName(name)"readonly="readonly"></input><br></h4> <h4>授課教師:<input type="text