我在JB7下做了JAVABEAN
package sqlbean;
import java.sql.*;/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2005</p>
* <p>Company: </p>
* @author unascribed
* @version 1.0
*/public class DBConnect {
Connection conn=null;
ResultSet rs=null;
Statement stmt=null;
// Statement stmt;
public Connection openDb(String sDBDriver,String url,String user,String password){
//Connection conn=null;
try{
Class.forName(sDBDriver);
conn=DriverManager.getConnection(url,user,password);
}catch(ClassNotFoundException e){
System.err.println("openDb()"+e.getMessage()); }catch(SQLException e){
System.err.println("executeQuery:"+e.getMessage()); }
return conn;
}
public ResultSet query(String sql){
try{
stmt=conn.createStatement();
rs=stmt.executeQuery(sql); }catch(SQLException e){
System.err.println("query:"+e.getMessage());
}
return rs;
}
}
编译后,把SqlBean\classes下的sqlbean文件夹拷到ROOT\WEB-INF\classes下
我的测试文件是这样的
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head><body>
<jsp:useBean id="dbBean" class="sqlbean.DBConnect" scope="session"/>
<% ResultSet rs=null;
Connection conn=null;
Statement stmt=null;
String DBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
String url="jdbc:microsoft:sqlserver://localhost:1433; DatebaseName=rlscm";
conn=dbBean.openDb(DBDriver,url,"sa","87951794");
//stmt=conn.createStatement();
String sql="select * from message";
rs=dbBean.query(sql);
while(rs.next())
{
String ctemp=rs.getString("userString");
String currentTime=rs.getString("dateTime");
String ctempcolor=rs.getString("color");
System.out.print(ctemp);
//out.println("<tr>");
out.println(currentTime+" :"+ctemp);
out.print("<br>");
//out.println("</tr>");
}
%>
</body>
</html>
最后抱错:
javax.servlet.ServletException: sqlbean.DBConnect.query(Ljava/lang/String;)Ljava/sql/ResultSet;
root cause java.lang.NoSuchMethodError: sqlbean.DBConnect.query(Ljava/lang/String;)Ljava/sql/ResultSet;
不知道怎么解决
哪为大哥
指点下迷津啊
谢谢
package sqlbean;
import java.sql.*;/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2005</p>
* <p>Company: </p>
* @author unascribed
* @version 1.0
*/public class DBConnect {
Connection conn=null;
ResultSet rs=null;
Statement stmt=null;
// Statement stmt;
public Connection openDb(String sDBDriver,String url,String user,String password){
//Connection conn=null;
try{
Class.forName(sDBDriver);
conn=DriverManager.getConnection(url,user,password);
}catch(ClassNotFoundException e){
System.err.println("openDb()"+e.getMessage()); }catch(SQLException e){
System.err.println("executeQuery:"+e.getMessage()); }
return conn;
}
public ResultSet query(String sql){
try{
stmt=conn.createStatement();
rs=stmt.executeQuery(sql); }catch(SQLException e){
System.err.println("query:"+e.getMessage());
}
return rs;
}
}
编译后,把SqlBean\classes下的sqlbean文件夹拷到ROOT\WEB-INF\classes下
我的测试文件是这样的
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head><body>
<jsp:useBean id="dbBean" class="sqlbean.DBConnect" scope="session"/>
<% ResultSet rs=null;
Connection conn=null;
Statement stmt=null;
String DBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
String url="jdbc:microsoft:sqlserver://localhost:1433; DatebaseName=rlscm";
conn=dbBean.openDb(DBDriver,url,"sa","87951794");
//stmt=conn.createStatement();
String sql="select * from message";
rs=dbBean.query(sql);
while(rs.next())
{
String ctemp=rs.getString("userString");
String currentTime=rs.getString("dateTime");
String ctempcolor=rs.getString("color");
System.out.print(ctemp);
//out.println("<tr>");
out.println(currentTime+" :"+ctemp);
out.print("<br>");
//out.println("</tr>");
}
%>
</body>
</html>
最后抱错:
javax.servlet.ServletException: sqlbean.DBConnect.query(Ljava/lang/String;)Ljava/sql/ResultSet;
root cause java.lang.NoSuchMethodError: sqlbean.DBConnect.query(Ljava/lang/String;)Ljava/sql/ResultSet;
不知道怎么解决
哪为大哥
指点下迷津啊
谢谢
CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件
界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/11/05/523395.aspx
下载:http://szlawbook.com/csdnv2
好象可以找到 openDb()方法
这个怎么回事====CSDN 小助手 V2.5 2005年11月05日发布====
CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件
界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/11/05/523395.aspx
下载:http://szlawbook.com/csdnv2
我搞了半天还是搞不顶、====CSDN 小助手 V2.5 2005年11月05日发布====
CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件
界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/11/05/523395.aspx
下载:http://szlawbook.com/csdnv2
jsp+javabean和jsp+servlet+javabean这两种模式的区别
他们的区别是什么呢?
谢谢大家。====CSDN 小助手 V2.5 2005年11月05日发布====
CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件
界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/11/05/523395.aspx
下载:http://szlawbook.com/csdnv2
//你确认这两个文件夹名字相同不。。
建议你把bean文件放在classes文件夹下编译看看,自动会生成sqlbean文件夹。漫漫调试代码应该没问题。。
模式二 主要是使用一个或者多个servlet作为控制器,javaBean它充当jsp和servlet通讯的中间工具。从技术上jsp和servlet是一样的,但jsp很多关键的因素胜过servlet。然而所有的jsp都必须编译成servlet并且在servlet容器中执行。
jsp以显示为中心,实现方法就借助javaBean,taglib.