在jsp页面中调用javabean的问题
需要在bean用频繁连接数据库,所以想专门写一个连接数据库的类,以后通过建立类的对象调用类的方法来完成数据库操作,连接数据库的类sqlBean, 在另一个类用sqlBean db=new sqlBean(),然后执行db.executeUpdate(),我把两个类分开写,会出现2个 cannot be resolved to a type 错误,
写在一个文件里,出现javax.servlet.ServletException: firm/denglu (wrong name: denglu)
错误,如果Bean里只用到一个类(不使用别的类的对象)则没有错误。
谁知道以上错误的原因,请告诉我,或者谁有已经写好了的实现上面功能的代码,请发给我,我的qq是187295380,邮箱是liunaikun549@163.com
谢谢了
问题点数:70、回复次数:5Top
1 楼crazycy(崔毅,blog:http://www.blogjava.net/crazycy/)回复于 2005-12-04 19:01:59 得分 40
cannot be resolved to a type
=======================
1 不在同一个包下,而又没有import导入类
2 就是db变量在另一个类中没有注入,作为类变量;或者在方法中没有以参数注入Top
2 楼appleangle(苹果熟了)回复于 2005-12-04 19:24:57 得分 20
楼上的都说了....写东西要仔细...import是写之前要考虑的.当然写的时候加也可以.但容易忘记Top
3 楼liunaikun(gsag)回复于 2005-12-07 14:38:36 得分 0
to: crazycy(代言人,我在java非技术区申请版主,大家多多支持)
我按你说的第一种方法,在文件中都加入了package firm,结果编译时不通过,说找不到sqlBean
(我看书上也是说可以在两个类都放在一个包下,但是我的就是编译不通过,郁闷)
第二个我没看明白,“注入”是什么???希望你再说的详细一点,谢谢了
我的代码如下:
import java.io.*;
import java.sql.*;
public class sqlBean{///
public Connection conn=null;
public ResultSet rs=null;
private String DatabaseDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
//DataSource 数据源名称DSN
private String DatabaseConnStr="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=xuanke;useUnicode=true&characterEncoding=gb2312";
//定义方法
/*setXxx用于设置属性值;getXxx用于得到属性值*/
public void setDatabaseDriver(String Driver){
this.DatabaseDriver=Driver;
}
public String getDatabaseDriver(){
return (this.DatabaseDriver);
}
public void setDatabaseConnStr(String ConnStr){
this.DatabaseConnStr=ConnStr;
}
public String getDatabaseConnStr(){
return (this.DatabaseConnStr);
}
public sqlBean(){/////构造函数
try{
Class.forName(DatabaseDriver);
}
catch(java.lang.ClassNotFoundException e){
System.err.println("加载驱动器有错误:"+e.getMessage( ));
System.out.print("执行插入有错误:"+e.getMessage());//输出到客户端
}
}
public int executeInsert(String sql){
int num=0;
try{
conn = DriverManager.getConnection(DatabaseConnStr,"sa","5691495");
Statement stmt=conn.createStatement( );
num=stmt.executeUpdate(sql);
}
catch(SQLException ex){
System.err.println("执行插入有错误:"+ex.getMessage() );
System.out.print("执行插入有错误:"+ex.getMessage());//输出到客户端
}
CloseDataBase();
return num;
}
// display data
public ResultSet executeQuery(String sql){
rs=null;
try{
conn = DriverManager.getConnection(DatabaseConnStr,"sa","5691495");
Statement stmt=conn.createStatement( );
rs=stmt.executeQuery(sql);
}
catch(SQLException ex){
System.err.println("执行查询有错误:"+ex.getMessage() );
System.out.print("执行查询有错误:"+ex.getMessage()); //输出到客户端
}
return rs;
}
// delete data
public int executeDelete(String sql){
int num=0;
try{
conn = DriverManager.getConnection(DatabaseConnStr,"sa","5691495");
Statement stmt=conn.createStatement( );
num=stmt.executeUpdate(sql);
}
catch(SQLException ex){
System.err.println("执行删除有错误:"+ex.getMessage() );
System.out.print("执行删除有错误:"+ex.getMessage()); //输出到客户端
}
CloseDataBase();
return num;
}
//////////////////
public void CloseDataBase(){
try{
conn.close();
}
catch(Exception end){
System.err.println("执行关闭Connection对象有错误:"+end.getMessage( ) );
System.out.print("执行执行关闭Connection对象有错误:有错误:"+end.getMessage()); //输出到客户端
}
}
}
import java.io.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.jsp.*;
import javax.servlet.http.*;
import javax.servlet.http.HttpServletRequest;
public class denglu{
public denglu() {
}
ServletRequest request;
JspWriter out;
public void init(ServletRequest req,JspWriter ou){
request=req;
out=ou;
}
public void yanzheng(){ //用户登录验证
String num=request.getParameter("num");
String pass=request.getParameter("pass");
// firm db=new firm();
sqlBean db = new sqlBean();
String sql="select number,password from student where number='"+num+"'and password='"+pass+"'";
try{
ResultSet rst=db.executeQuery(sql);
if(rst.next())
{
System.out.println("登陆成功");
}else
{System.out.println("登陆失败");
}
}catch(SQLException ex){
System.out.println(ex.getMessage());
}
}
}Top
4 楼crazycy(崔毅,blog:http://www.blogjava.net/crazycy/)回复于 2005-12-10 19:35:58 得分 10
写在一个文件里,出现javax.servlet.ServletException: firm/denglu (wrong name: denglu)
错误
====
如果两个类放在一个文件中 最多只有一个可以声明为public的Top
5 楼xiongbing528(多情剑客无情剑)回复于 2005-12-10 20:11:20 得分 0
upTop




