📄 dbservlet.java
字号:
package dbservlet;import java.io.*;import java.sql.*;import java.util.*;import javax.servlet.*;import javax.servlet.http.*;/** * Title: 使用Servlet连接数据库 * Description: 教学示范 * Copyright: Copyright (c) 2003 * Company: 北京师范大学计算机系 * @author 孙一林 * @version 1.0 */public class dbServlet extends HttpServlet { static final private String CONTENT_TYPE = "text/html; charset=GBK"; private Connection connection = null; //定义与数据库进行连接的Connection对象 private ResultSet rs = null; //定义数据库查询的结果集 private Statement statement = null; //定义查询数据库的Statement对象 public void init() throws ServletException { //初始化Servlet try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //指定与数据库连接使用JDBC-ODBC桥驱动程序 } catch(Exception ex) //捕捉异常 { ex.printStackTrace(); } } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType(CONTENT_TYPE); PrintWriter out = response.getWriter(); String tableName = request.getParameter("tableName"); //获取用户要显示数据的表名 out.println("<html>"); out.println("<head><title>" + tableName + "表中的数据</title></head>"); out.println("<body>"); if (tableName.equals("studentbase")) { out.println("<h2 align=center>学生基本信息表中的数据</h2>"); } else if (tableName.equals("studentaddress")) { out.println("<h2 align=center>学生地址表中的数据</h2>"); } else { out.println("<h2 align=center>选课信息表中的数据</h2>"); } try { String url = "jdbc:odbc:student"; //指定数据源名 connection = DriverManager.getConnection(url); //与数据源建立连接 statement = connection.createStatement(); //创建Statement接口实例 String sql = "select * from " + tableName; //创建取出用户指定表中所有数据的SQL语句 rs = statement.executeQuery(sql); //将数据存入结果集中 ResultSetMetaData rsData = rs.getMetaData(); //获取结果集信息 out.println("<table width=75% border=1 align=center><tr>"); for(int i=1; i<=rsData.getColumnCount(); i++) //输出字段名 { out.println("<td>" + rsData.getColumnLabel(i) + "</td>"); } out.println("</tr>"); while(rs.next()) //输出表中数据 { out.println("<tr>"); for(int i=1; i<=rsData.getColumnCount();i++) { out.println("<td>" + rs.getString(i) + "</td>"); } out.println("</tr>"); } out.println("</table>"); } catch(SQLException ex){ //捕捉异常 System.out.println("\nERROR:----- SQLException -----\n"); while (ex != null) { System.out.println("Message: " + ex.getMessage()); System.out.println("SQLState: " + ex.getSQLState()); System.out.println("ErrorCode: " + ex.getErrorCode()); ex = ex.getNextException(); } } catch(Exception ex ) { ex.printStackTrace(); } out.println("</body></html>"); } public void destroy() { //当Servlet关闭时释放资源 try { if(statement != null) { statement.close(); //关闭Statement接口实例 } if(connection != null) { connection.close(); //关闭Connection接口实例 } } catch (SQLException ex) { System.out.println("\nERROR:----- SQLException -----\n"); System.out.println("Message: " + ex.getMessage()); System.out.println("SQLState: " + ex.getSQLState()); System.out.println("ErrorCode: " + ex.getErrorCode()); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -