急javabean连接数据库的问题(源代码)

xueblueice 2002-03-12 02:07:21
javabean连接数据库的问题(源代码)
在main.jsp中调用basicDBBean,发生下列错误,请高手指点

javax.servlet.ServletException: basicDBBean
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:457)
at org.apache.jsp.main$jsp._jspService(main$jsp.java:139)
...


root cause

java.lang.InstantiationException: basicDBBean
at org.apache.jsp.main$jsp._jspService(main$jsp.java:92)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
....

源代码:
--------------------------------------------------------------------------//basicFBBean.java
package lyb;

import java.sql.*;
public class basicDBBean {
//jdbc驱动程序
String DBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
//数据源地址
String DBLocation="jdbc:microsoft:sqlserver://ERDOS00:1433";
//数据库连接
Connection conn=null;
//查询结果的记录集
ResultSet rs=null;

//构造函数
public basicDBBean() {
}

//执行一个查询
public ResultSet executeQuery(String sql){
//如果没有可用的连接,试着建立连接
if (conn == null){
DBConnect();
}

//如果仍然没有可用的连接,返回null值
if (conn == null)
rs=null;
else{
//必须捕获SQLException异常
try{
Statement s=conn.createStatement();
//执行查询
rs=s.executeQuery(sql);
}
catch(SQLException e){
}
}
return(rs);
}

//建立一个缺省的连接
public String DBConnect(){
String strExc="";
try{
//建立连接
Class.forName(DBDriver);
conn=DriverManager.getConnection(DBLocation,"gb","gb");
}
catch(ClassNotFoundException e){
strExc=e.toString();
}
catch(SQLException e){
strExc=e.toString();
}
return(strExc);
}

//设置一个可用的数据源地址,param Location
public void setDBLocation(String location){
DBLocation=location;
}

//设置一个可用的JDBC驱动程序,param driver
public void setDBDriver(String driver){
DBDriver=driver;
}

//设置一个已经可用的数据连接,param conn
public void setConn(Connection conn){
conn=conn;
}


}




//main.jsp
<%--留言标题的查看main.jsp--%>
<%--从数据库中输出中文一定要设置文件的ContentType--%>
<%@ page contentType="text/html; charset=gb2312" %>
<%@ page language="java" import="java.sql.*" %>
<%@ page import = "lyb.basicDBBean" %>
<%--载入一个数据库连接的JavaBean--%>
<jsp:useBean id="basicDB" class="basicDBBean" scope="page" />
<html>
<head>
<title>留言版
</title>
<meta http-equiv="Content-Type" content="text/html";charset=gb2312">
</head>
<style type="text/css">
<!--
.n9pt {font-size:9pt}
a {font-size:9pt; color:#000000; text-decoration:none}
a:hover :font-size:9pt; color:#FF0000 ; text-decoration:none}
-->
</style>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" align=center valign=middle>
<br><div align=center style="font-size:14pt;color:black">我的留言版</div><br>
<table width="760" border="0" align="center" cellpadding="2" cellspacing="2" class="n9pt">
<tr>
<td width="500" bgcolor="#CCCCCC">
<div align="center"><font="FFFFFF">标题</font></div>
</td>
<td width="130" bgcolor="#CCCCCC">
<div align="center"><font="FFFFFF">作者</font></div>
</td>
<td width="130" bgcolor="#CCCCCC">
<div align="center"><font="FFFFFF">发表时间</font></div>
</td>
</tr>

<%
String sql;
ResultSet rs;
sql= "SELECT * FROM basiclyb ORDER BY addtime DESC";

//建立并执行查询
basicDB.DBConnect();
rs=basicDB.executeQuery(sql);

//输出数据(标题、作者、时间)
while (rs.next()){
out.print("<tr><td width=500 bgcolor=#eeeeee><a herf=view.jsp?id=");
out.print(rs.getInt("id"));
out.print(" target=bottom> ");
out.print(rs.getString("title"));
out.print("</a></td><td width=130 bgcolor=#eeeeee><div align=center>");
out.print(rs.getString("author"));
out.print("</div></td><td width=130 bgcolor=#eeeeee><div align=center>");
out.print(rs.getString("addtime"));
out.print("</div></td></tr>");
}
%>
</table>
</body>
</html>
...全文
58 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
博客地址:http://blog.csdn.net/vipbooks 一直以来根据数据库表结构自动生成JavaBean、自动生成MyBaits的Mapper映射配置文件、自动生成数据库设计文档都是一件让人很头痛的事情,既浪费时间又很繁琐,看着几十上百个表的成千上万个字段,真是一件让人痛苦的事情。 我们也想过很多办法解决这个问题,包括用MyEclipse连接数据库生成JavaBean,但多多少少还是会有一些不尽人意的地方,包括表和表字段的comment总是无法生成,而且还会生成很多无用的注释代码,让代码看起来一点都不干净,配置非常繁琐等等问题。 于是一怒之下,自己动手丰衣足食,于是就自己用Swing写了一个基于数据库的自动化生成工具,支持MySQL、Oracle、SQLServce、PostgreSQL,完美支持JPA注解,可以同时生成Entity和DTO等,可以自动去除表前缀,支持单个和批量生成JavaBean,现在不但成员变量上能生成备注了,而且在Getter和Setter上也能有注释了。更重要的是还能自动生成数据库设计文档和MyBaits的Mapper映射配置文件,如果有多个数据源还能批量生成,使用非常方便。 所有的配置都保存在本地,只要配置过一次,下次使用的时候完全可以秒生成JavaBean、MyBaits的Mapper映射配置文件和数据库设计文档,并且还集成各种实用工具,使得工作效率瞬间爆棚,生产力瞬间爆表!
一直以来把数据库的表转换成JavaBean和数据库设计文档都是一件让人很头痛的事情,既浪费时间又很繁琐,看着几十上百个表的成千上万个字段,真是一件让人痛苦的事情。 我们也想过很多办法解决这个问题,包括用MyEclipse连接数据库生成JavaBean,但多多少少还是会有一些不尽人意的地方,包括表和表字段的comment总是无法生成,而且还会生成很多无用的注释代码,让代码看起来一点都不干净,配置非常繁琐等等问题。 于是一怒之下,自己动手丰衣足食,于是就自己用Swing写了一个基于数据库的自动化生成工具,支持MySQL、Oracle、SQLServce、PostgreSQL,完美支持JPA注解,可以同时生成Entity和DTO等,可以自动去除表前缀,支持单个和批量生成JavaBean,现在不但成员变量上能生成备注了,而且在Getter和Setter上也能有注释了。更重要的是还能自动生成数据库设计文档,如果有多个数据源还能批量生成,使用非常方便。 所有的配置都保存在本地,只要配置过一次,下次使用的时候完全可以秒生成JavaBean和数据库设计文档,并且还集成各种实用工具,使得工作效率瞬间爆棚,生产力瞬间爆表! v4.1.2版更新震撼发布,此次版本更新如下: 1、随着程序的功能越来越强大,原来的定位和设计已经无法满足更高的要求,所以决定对本程序更名,更名为TableGo,以满足未来更丰富的功能和设计。 2、新增快速生成数据库设计文档和批量生成数据库设计文档的功能。 3、新增根据字段快速生成JavaBean的功能,在VO中增量添加字段非常方便。 4、新增精确匹配(排除)和模糊匹配(排除),排除掉不需要生成的表。 5、新增数据源备注,该备注用于自动生成数据库设计文档的文件名。 6、新增多线程超时参数设置,在生成文档时因表字段太多而超时时可修改。 7、修改了界面布局,使布局更加合理。 8、修改实体注解使其能自动选中已选择的注解。 9、优化表命名转驼峰命名和驼峰命名转表命名,使其支持单词间的空格,使用起来更方便。 10、其他一些小Bug的修改和代码优化调整。

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧