首页 > 开发 > JSP > 正文

实例详细讲解JSP访问数据库的方法

2020-02-05 13:51:32
字体:
来源:转载
供稿:网友

  jsp(javaserver pages)是由sun 公司倡导、许多公司参与建立的一种动态网页技术标准。使用jsp技术,web页面开发人员可以使用html或者xml标识来设计和格式化最终页面。使用jsp标识(tag)或者小脚本(scriptlet)来生成页面上的动态内容。生成内容的逻辑被封装在标识和javabeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。

  数据库连接对动态网站来说是最为重要的部分,java中连接数据库的技术是jdbc(java database connectivity)。很多数据库系统带有jdbc驱动程序,java程序就通过jdbc驱动程序与数据库相连,执行查询、提取数据等操作。sun公司还开发了jdbc-odbc bridge,用此技术java程序就可以访问带有odbc驱动程序的数据库,目前大多数数据库系统都带有odbc驱动程序,所以java程序能访问诸如oracle、sybase、ms sql server和ms access等数据库。本文将通过一个实例介绍在jsp中利用javabeans通过jdbc-odbc bridge访问access客户信息数据库。

  1.首先建立一个access数据库customers.mdb,其中表customers有字段id(自动增量型,并设为主关键字)、name(文本型,长度10)、address(文本型,长度30)、info(备注型)。

  2.在control panel(控制面板)的odbc datasource模块中加入system dsn,取名customers,并指向customers.mdb。
 
  3.创建一个javabeans,命名为dbconn.java,并保存在支持jsp的web服务器的缺省文档根目录下。dbconn.java主要是封装与数据库的连接操作,内容如下:

  import java.sql.*;
  public class dbconn {
  string dbdriver = "sun.jdbc.odbc.jdbcodbcdriver";
  string connstr = "jdbc:odbc:customers";
  connection conn = null;
  resultset rs = null;
  public dbconn {
  try {
  class.forname(dbdriver);
  //加载数据库驱动程序
  }
  catch(java.lang.classnotfoundexception e) {
  system.err.println("dbconn (): " + e.getmessage());
  }
  }
  public resultset executequery(string sql) {
  rs = null;
  try {
  conn = drivermanager.getconnection(connstr);
  //与dbms建立连接
  statement stmt = conn.createstatement();
  rs = stmt.executequery(sql);
  }
  catch(sqlexception ex) {
  system.err.println("aq.executequery: " + ex.getmessage());
  }
  return rs;
  }
  }

  4.dbconn.java编辑好后,在dos状态下,进而用jdk的javac命令编译dbconn.java形成相应的class文件。

  5.建立customers.jsp文件,在jsp中调用以上编译好的javabeans,其内容如下:

  〈html〉
  〈head〉
  〈meta http-equiv="content-type" content="text/html; charset=gb2312"〉
  〈title〉客户信息调查〈/title〉
  〈/head〉
  〈body〉
  〈p〉〈b〉客户信息调查〈/b〉〈/p〉
  〈%@ page language="java" import="java.sql.*" %〉
  〈jsp:usebean id="dbconn1" scope="page" class="dbconn" /〉
  〈%
  resultset rs = dbconn1.executequery("select * from customers");
  while (rs.next()) {
  out.print("〈li〉" + rs.getstring("name") + "〈/li〉");
  out.print("〈li〉" + rs.getstring("address") + "〈/li〉");
  out.print("〈li〉" + rs.getstring("info") + "〈/li〉");
  }
  rs.close();
  %〉
  〈/body〉
  〈/html〉

  在〈 jsp:usebean〉标记内定义了几个属性,其中id是整个jsp页面内该bean的标识、scope属性定义了该bean的生存时间、class属性说明了该bean的类文件。
 
  事实证明,jsp是一种开发web应用的理想构架,利用跨平台运行的javabeans组件,jsp为分离处理逻辑及显示样式提供了卓越的解决方案。

最大的网站源码资源下载站,

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表