当前位置: 首页 > 图文教程 > 网络编程 > JSP > JSP连接Access数据库

JSP
我认为JSP有问题(上)
我认为JSP有问题(下)
jsp“抓”网页代码的程序
关于在bean里面打印html的利弊看法
bean里面如何打印到html页面
jdbc3中的RowSet 接口规范
Apusic Application Server1.0中jsp源代码泄漏漏洞
Unify的eWave ServletExec拒绝服务漏洞
通过提交超长的GET请求导致IBM HTTP Server远程溢出
在HTTP请求中添加特殊字符导致暴露JSP源代码文件
Resin 1.2 重要源代码暴露漏洞
多中WEB服务器的通用JSp源代码暴露漏洞
Tomcat 暴露JSP文件内容
IBM WebSphere Application Server 暴露JSP文件内容
JRun 2.3.x 范例文件暴露站点安全信息
BEA WebLogic 暴露源代码漏洞
IBM WebSphere Application Server 3.0.2 存在暴露源代码漏洞
Tomcat 3.1 存在暴露网站路径问题
Sun Java Web Server 能让攻击者远程执行任意命令
Netscape 修复 JAVA 安全漏洞

JSP连接Access数据库


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 57 ::
收藏到网摘: n/a

一.建立数据库及ODBC数据源
  1.建立jcc.mdb数据库及user表
  2.添加测试数据
  3.配置ODBC数据源
二.在<%wwwroot%>/下,新建Access数据库连接文件Select.jsp
  Select.jsp源码如下:

<%@page contentType="text/html;charset=gb2312"%>
<%@page import="java.sql.*"%>
<html>
<body>
<%
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){
out.print(e);
}
try{
String url = "jdbc:odbc:jcc";
Connection conn = DriverManager.getConnection(url,"jcc","jsp.com.cn");
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("Select * FROM user");
out.println("User-list"+"<br>");
while(rs.next()){
out.print(rs.getString(1)+" ");
out.print(rs.getString(2)+"<br>");
}
rs.close();
stmt.close();
conn.close();
}
catch(Exception ex){
out.print(ex);
}
%>
</body>
</html>

四.运行http://localhost/Select.jsp,显示结果如下:
User-list
1 Corebit
2 Ivan
  则表示数据库连接成功!恭喜!恭喜!
  否则请检查数据源相关设置,出错可能性比较高!
附言:
  常有人问起,如何在不做ODBC数据源的情况下让JSP访问Access数据库,为解开这个迷团,特写以下连接代码,以供参考!其中,jcc.mdb与Select.jsp同位于<%wwwroot%>(根目录)下。
  改写后的Select.jsp源码如下:

<%@page contentType="text/html;charset=gb2312"%>
<%@page import="java.sql.*"%>
<html>
<body>
<%
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){
out.print(e);
}
try{
String strDirPath=application.getRealPath(request.getRequestURI());
strDirPath=strDirPath.substring(0,strDirPath.lastIndexOf('\\'))+"\\";
String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="+strDirPath+"jcc.mdb";
Connection conn = DriverManager.getConnection(url);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("Select * FROM user");
out.println("User-list"+"<br>");
while(rs.next()){
out.print(rs.getString(1)+" ");
out.print(rs.getString(2)+"<br>");
}
rs.close();
stmt.close();
conn.close();
}
catch(Exception ex){
out.print(ex);
}
%>
</body>
</html>

  运行结果应该与使用ODBC时的运行结果相同!
  *注:文件名Select.jsp区分大小写!
  希望本文能对你的JSP连接Access数据库有所帮助!
==========================================
只能使用jdbc-odbc桥来连接
想要设置odbc数据源
然后连接
String dbdriver = "oracle.jdbc.driver.OracleDriver";
String dbname = "jdbc:oracle:thin:@192.168.0.101:1521:orcl";//根据你的情况修改
String user = "system";//用户名
String password = "manager";//密码
Connection conn = null;
Statement stmt = null;
ResultSet rs =null;
String sql="select * from 表名";//根据实际情况修改
try
{
Class.forName(dbdriver);
}
catch(java.lang.ClassNotFoundException e){
System.err.println("Class access_dbconnect not fount!"+e.getMessage());
}
conn=DriverManager.getConnection(dbname,user,password);
Statement stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
=========================================
sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
sConnStr = "jdbc:odbc:odbc名称";
conn = null;
rs = null;
try
{
Class.forName(sDBDriver);
}
conn = DriverManager.getConnection(sConnStr);
Statement statement = conn.createStatement();
rs = statement.executeQuery(s);
你在odbc数据源中建一个access连接,然后把上面的代码中的odbc名称改成你的odbc数据源连接名称就可以了。