jdbc在jsp、servlet、javabean中的应用

上传人:千****8 文档编号:117929664 上传时间:2019-12-11 格式:PPT 页数:28 大小:381KB
返回 下载 相关 举报
jdbc在jsp、servlet、javabean中的应用_第1页
第1页 / 共28页
jdbc在jsp、servlet、javabean中的应用_第2页
第2页 / 共28页
jdbc在jsp、servlet、javabean中的应用_第3页
第3页 / 共28页
jdbc在jsp、servlet、javabean中的应用_第4页
第4页 / 共28页
jdbc在jsp、servlet、javabean中的应用_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《jdbc在jsp、servlet、javabean中的应用》由会员分享,可在线阅读,更多相关《jdbc在jsp、servlet、javabean中的应用(28页珍藏版)》请在金锄头文库上搜索。

1、JDBCJDBC技术技术 在在ServletServlet、JSPJSP和和JavaBeansJavaBeans 程序中访问数据库程序中访问数据库 兰州石化职业技术学院兰州石化职业技术学院 软件教研室 任泰明软件教研室 任泰明 2010.62010.6 引言: 前面几节介绍的内容都是在Java程序中对数据表进 行访问的实例,其实在Servlet、JSP和JavaBeans程 序中都可以使用JDBC API访问数据库。 本讲内容: 在Servlet程序中访问数据库 在JSP程序中访问数据库 在JavaBean程序中访问数据库 一、在Servlet程序中访问数据 库 在Servlet程序中访问数据

2、库的方法与前面一般的Java程序中访问数 据库的方法是一样。同样要经过加载驱动程序、创建数据库连接、 执行SQL语句和处理返回结果这几个步骤。两者之间的区别仅在结 果输出时去处不同。 一般Java程序中访问数据库获得的结果,是直接使用 System.out.println()方法显示出来;而在Servlet程序中访问数据库获 得的结果要在浏览器上显示出来。另外,Java程序经过编译后在 DOS命令状态下直接执行字节代码程序;而Servlet程序要部署在 Web服务器上,响应客户的请求。 下面的实例程序将数据库students下的数据表JSJXstuInfo以表格的 方式输出。 一、在Servl

3、et程序中访问数据 库 实例8-8:显示数据表记录的Servlet程序(JDBCServlet.java) 01: import java.io.*; 02: import java.sql.*; 03: import javax.servlet.*; 04: import javax.servlet.http.*; 05: class FMTResult 06: 07: private ResultSet resp; 08: public FMTResult(ResultSet res) 09: 10: resp=res; 11: 12: public String toFMT() 13:

4、14: StringBuffer buff=new StringBuffer(); 15: buff.append(); 16: try 17: 一、在Servlet程序中访问数据 库 18: ResultSetMetaData rsmd=resp.getMetaData(); 19: int columns=rsmd.getColumnCount(); 20: buff.append(); 21: for(int i=1;i=columns;i+) 22: buff.append(+rsmd.getColumnLabel(i); 23: buff.append(n); 24: while(r

5、esp.next() 25: 26: buff.append(); 27: for(int i=1;i=columns;i+) 28: 29: Object columnvalue=resp.getObject(i); 30: if(columnvalue!=null) 31: buff.append(+columnvalue.toString()+); 32: else 33: buff.append(); 34: 35: buff.append(); 一、在Servlet程序中访问数据 库 36: 37: buff.append(); 38: 39: catch(SQLException

6、e) 40: 41: buff.append(数据连接错误+); 42: 43: return buff.toString(); 44: 45: 46: public class JDBCServlet extends HttpServlet 47: 48: public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException,ServletException 49: 50: response.setContentType(text/HTML;charset=GB2312);

7、 51: PrintWriter out=response.getWriter(); 一、在Servlet程序中访问数据 库 52: out.println(); 53: out.println(); 54: out.println(计算机系学生信息表); 55: out.println(); 56: out.println(计算机系学生信息表); 57: try 58: 59: Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); 60: Connection conn=DriverManager.getConnection(jdbc:odbc:stude

8、nts); 61: Statement stmt=conn.createStatement(); 62: String strQuery=SELECT * FROM JSJXstuInfo; 63: ResultSet rs=stmt.executeQuery(strQuery); 64: FMTResult rstl=new FMTResult(rs); 65: out.println(rstl.toFMT(); 66: out.println(); 67: out.println(); 68: out.println(); 69: rs.close(); 一、在Servlet程序中访问数据

9、 库 70: stmt.close(); 71: conn.close(); 72: 73: catch(Exception e) 74: out.println(e+数据库连接失败!); 75: 76: 77: 实例8-8的05行到45行是一个将SELECT查询所得结果以表格的 形式在网页上显示出来的类FMTResult,08行到11行是该类构造 函数,它的实例化参数是一个结果集ResultSet对象。 FMTResult类中定义的toFMT()方法将结果集转化为用HTML语 法表示的字符串形式后,返回给调用者。 18行的ResultSetMetaData rsmd=resp.getMeta

10、Data()表示取得生 成结果集的ResultSetMetaData对象。 一、在Servlet程序中访问数据 库 22行使用getColumnLabel(i)方法取得每列的打印输出列名。29行 把结果集当前行当前列的值作为一个Java对象获取后存入 columnvalue中,31行表示该列的当前值为非空时,加入到一个表 格行的单元格中。 程序的46行到77行是Servlet类,该类doGet方法中的59行加载 JDBC驱动程序,60行取得数据库的连接,61行创建Statement对 象,63行执行SELECT查询。64行以查询结果集rs为参数,生成一 个FMTResult对象,65行的rst

11、l.toFMT()调用FMTResult对象的 toFMT()方法取得结果集转化为HTML格式后的字符串,并将该字 符串输出在浏览器上。 在Web服务器上部署该Servlet程序时要注意,该程序中定义了两 个Java类,即FMTResult和JDBCServlet类,所以在编译后生成两 个字节代码文件FMTResult.class和JDBCServlet.class,这两个字 节代码文件都要复制到服务器部署Servlet程序的目录中,否则该 Servlet无法正确执行。 一、在Servlet程序中访问数据 库 二、在JSP程序中访问数据 库 由于在JSP程序中可以插入Java语言程序代码,因此

12、本章介绍的访问数据 库的JDBC程序代码可以直接以脚本的形式写在JSP程序中。 下面的程序与实例8-8的功能是相同的,只是用JSP程序来实现。 实例8-9:显示数据表记录的JSP程序(JDBC-JSP.java) 01: 02: 03: 04: 05: 06: 学生信息 07: 08: 计算机系学生信息表 09: 19: 20: 21: 学号 22: 姓名 23: 年龄 24: 性别 25: 班级 26: 二、在JSP程序中访问数据 库 27: 31: 32: 33: 34: 35: 36: 37: 38: 47: 48: 49: 该实例的14行到17行完成数据库驱动程序的加载、数据库的连接与

13、对数据 表的查询功能。 20行到26行显示数据表的表头,28行到38行将查询所得结果以表格行的形 式显示在浏览器上。 该实例被执行后显示的结果如图8-17所示。 二、在JSP程序中访问数据 库 三、编写访问数据库的JavaBeans 组件 JavaBeans组件技术非常适合编写访问数据库的程序。 不管是在什么样的Java程序中,其访问数据库的操作主要是驱动 程序的加载、连接的建立、执行SQL语句等一些步骤。这些步骤 的格式是比较固定的,因此将其写成访问数据库的组件并部署在 Web服务器上以后,在任何一个JSP程序中都可以调用这些组件, 省去了在每个JSP程序中编写JDBC代码的重复工作。 下面

14、是一个访问数据库的JavaBeans程序实例。在任何一个JSP程 序中,只要引入该JavaBeans以后,给出SQL语句,就可以调用 JavaBeans提供的方法执行该SQL语句。 三、编写访问数据库的JavaBeans 组件 实例8-10:操作数据表的JavaBean程序(AccessDB.java) 01: package myBean; 02: import java.sql.*; 03: public class AccessDB 04: 05: String strDBDriver=sun.jdbc.odbc.JdbcOdbcDriver; 06: String strConn=jd

15、bc:odbc:students; 07: Connection conn=null; 08: ResultSet rs=null; 09: /无参的构造 10: public AccessDB() 11: 12: try 13: Class.forName(strDBDriver); 14: 15: catch(java.lang.ClassNotFoundException e) 16: System.err.println(e.getMessage(); 17: 三、编写访问数据库的JavaBeans 组件 18: 19: public ResultSet executeQuery(String sql) 20: 21: try 22: conn=DriverManager.getConnection(strConn); 23: Statement stmt=conn.createStatement(); 24: rs=stmt.executeQuery(sql); 25: 26: catch(SQLException e) 27: System.err.println(e.getMessage(); 28: 29: return rs; 30: 三、编写访问数据库的JavaBeans 组件 31: public int executeUpda

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号