?? studentdbservlet.java
字號:
import javax.servlet.*;import javax.servlet.http.*;import java.util.*;import java.sql.*;import java.io.*;/** * Title: 三層結構數據庫應用系統 * Description: Java語言演示程序:三層結構數據庫應用系統,用于北京師范大學計算機系Java課程教學示范。 * Copyright: Copyright (c) 2002 * Company: 北京師范大學計算機系 * @author 孫一林 * @version 1.0 */public class StudentDBServlet extends HttpServlet{ protected Connection dbConnection; protected PreparedStatement displayStatement; protected PreparedStatement registerStatement; private static final String CONTENT_TYPE = "text/html;charset=gb2312"; protected String driverName = "sun.jdbc.odbc.JdbcOdbcDriver"; protected String dbURL = "jdbc:odbc:student"; protected String userID = "student"; protected String passwd = "123456"; protected String CR = "\n"; protected final int NUMBER_POSITION = 1; protected final int NAME_POSITION = 2; protected final int AGE_POSITION = 3; protected final int SEX_POSITION = 4; protected final int DEPARTMENT_POSITION = 5; public void init(ServletConfig config) throws ServletException { super.init(config); try { System.out.println("開始初始化"); System.out.println("加載數據庫驅動程序"); Class.forName(driverName); System.out.println("開始連接數據庫:" + dbURL); dbConnection = DriverManager.getConnection(dbURL, userID, passwd); System.out.println("準備顯示數據庫數據"); displayStatement = dbConnection.prepareStatement("select * from studentbase"); System.out.println("準備添加數據庫記錄"); registerStatement = dbConnection.prepareStatement("insert into Studentbase" + "(學號, 姓名, 年齡, 性別, 系別)" + " values ( ?, ?, ?, ?, ?)"); System.out.println("初始化準備工作結束"); } catch (Exception e){ cleanUp(); e.printStackTrace(); } } public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String userOption = null; userOption = request.getParameter("Register"); if (userOption != null){ registerStudent(request, response); } else{ displayStudents(request, response); } } public void displayStudents(HttpServletRequest request,HttpServletResponse response){ Student aStudent = null; try { String htmlHead = "<html><head><title>學生記錄</title></head>" + CR; String htmlBody = "<body><center>" + CR; htmlBody += "<h1>學生記錄</h1>" + CR; htmlBody += "<hr></center><p>" + CR; String tableHead = "<center><table border width=100% cellpadding=5>" + CR; tableHead += "<tr>" + CR; tableHead += "<th> </th>" + CR; tableHead += "<th>學號</th>" + CR; tableHead += "<th>姓名</th>" + CR; tableHead += "<th>年齡</th>" + CR; tableHead += "<th>性別</th>" + CR; tableHead += "<th>系別</th>" + CR; tableHead += "</tr>" + CR; ResultSet dataResultSet = displayStatement.executeQuery(); String tableBody = ""; int rowNumber = 1; while (dataResultSet.next()){ aStudent = new Student(dataResultSet); tableBody += aStudent.toTableString(rowNumber); rowNumber++; } dataResultSet.close(); String tableBottom = "</table></center>"; String htmlBottom = "</body></html>"; htmlBody += tableHead + tableBody + tableBottom; htmlBody += "<p><hr>"; htmlBody += "<center><a href= index.html>返回首頁</a>"; htmlBody += "<p><i>" + this.getServletInfo() + "</i>"; htmlBody += "</center>"; String htmlPage = htmlHead + htmlBody + htmlBottom; PrintWriter outputToBrowser = new PrintWriter(response.getOutputStream()); response.setContentType(CONTENT_TYPE); outputToBrowser.println(htmlPage); outputToBrowser.close(); } catch (Exception e) { cleanUp(); e.printStackTrace(); } } public void registerStudent(HttpServletRequest request,HttpServletResponse response){ try { Student aStudent = new Student(request); registerStatement.setString(NUMBER_POSITION, aStudent.getNumber()); registerStatement.setString(NAME_POSITION, aStudent.getName()); registerStatement.setString(AGE_POSITION, aStudent.getAge()); registerStatement.setString(SEX_POSITION, aStudent.getSex()); registerStatement.setString(DEPARTMENT_POSITION, aStudent.getDepartment()); registerStatement.executeUpdate(); String htmlPage = "<html><head><title>確認</title></head>"; htmlPage += "<body>"; htmlPage += "<center><h1>確認正確與否</h1></center><hr>"; htmlPage += "以下為輸入的信息"; htmlPage += aStudent.toWebString(); htmlPage += "<hr>"; htmlPage += "<center><a href= index.html>返回首頁</a> | "; htmlPage += "<a href=http://localhost:8080/test/servlet/StudentDBServlet>查看記錄</a>"; htmlPage += "<p><i>" + this.getServletInfo() + "</i>"; htmlPage += "</center></body></html>"; PrintWriter outputToBrowser = new PrintWriter(response.getOutputStream()); response.setContentType(CONTENT_TYPE); outputToBrowser.println(htmlPage); outputToBrowser.close(); } catch (Exception e) { cleanUp(); e.printStackTrace(); } } public void cleanUp(){ try { System.out.println("關閉數據庫連接"); dbConnection.close(); } catch (SQLException e){ e.printStackTrace(); } } public void destroy() { System.out.println("撤消StudentDBServlet程序"); cleanUp(); } public String getServletInfo(){ return "<i>在線學生注冊系統 v1.0</i>"; }}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -