Servlet与javabean难道有仇吗?

凉岑玉 2010-12-30 12:41:29
是这样的·小弟最近刚学习MVC模式,想自己做一个简单的登录界面,用于逻辑运算的JavaBean在被Servlet调用的时候总是报错,注意·不是异常,而是debug··各位帮我看看··小弟不胜感激!
servlet代码:

public class Servlet01 extends HttpServlet {

protected void service(HttpServletRequest req,HttpServletResponse resp)throws ServletException,java.io.IOException{
String name= req.getParameter("name");
GetJdbc gj=new GetJdbc();
boolean flag=gj.getIn(name);
if(flag==true){
RequestDispatcher rd=req.getRequestDispatcher("Yes.jsp");//。forward方式只能跳转到本web应用中的页面上。
req.setAttribute(name, "name");
System.out.print(name);
rd.forward(req, resp);//跳转
}

}
}

javabean代码:

package com.cme.cen;

import java.sql.*;

public class GetJdbc {
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";// 将驱动器的包名和类名存储到字符串中
String dbURL = "jdbc:sqlserver://localhost:1433;DatabaseName=Sales"; // 将数据库StuInfo的路径存储到字符串中
String userName = "sa"; // 默认用户名
String userPwd = "19881212"; // 安装sql server 2005时的密码
Statement sm = null;
public static Connection dbConn = null;// 定义打开了的接口对象
ResultSet rs = null;

// 构造方法
public GetJdbc() {
try {
Class.forName(driverName);
dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
sm = dbConn.createStatement();
} catch (Exception e) {
e.printStackTrace();
}
}

public boolean getIn(String name){
String sql="select * from Employees";
boolean flag=false;
try {
rs = sm.executeQuery(sql);
while(rs.next()){
if(rs.getString("姓名").trim().equals(name)){
flag=true;
}
}
} catch (SQLException e) {
e.printStackTrace();
}
return flag;
}
}

从登录页面内输入名字,然后由JavaBean来链接数据库,并且返回其用户名是否包含在数据库中。但是老是出错,错误如下:


Daemon System Thread [Finalizer] (Suspended (exception NullPointerException))
JdbcOdbcDriver.finalize() line: 96
Finalizer.invokeFinalizeMethod(Object) line: not available [native method]
Finalizer.runFinalizer() line: 83
Finalizer.access$100(Finalizer) line: 14
Finalizer$FinalizerThread.run() line: 160
跪求高人指点··能解释为什么以及解决办法的话更是不胜感激!
...全文
200 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
celia15117547 2011-09-21
  • 打赏
  • 举报
回复
我愁。。。 这都叫乱, 那我的代码更乱了- -。
望舒 2011-03-13
  • 打赏
  • 举报
回复
没看懂!
goodsun00 2010-12-30
  • 打赏
  • 举报
回复
rs.getString("姓名")? 没见过

测下javaBean 能用不?
plusplus2010 2010-12-30
  • 打赏
  • 举报
回复
很久没写J2EE程序,不太记得了。一个是看看JavaBean是不是要求实现一些生命周期有关的方法,有没有正确实现。另外,看看是不是JdbcOdbcDriver的问题啊,换个纯java的driver(type 4)呢?
Inhibitory 2010-12-30
  • 打赏
  • 举报
回复
Servlet与JavaBean没有冲突,是你的程序出了问题。

1. 首先你保存GetJdbc在普通的Java程序中能正常运行吗?
2. 如果不能,那就从这里找问题,如JDBC驱动的版本,连接字符串等,印象中SqlServer好像没怎么用过,一步一步的检查出问题所在。
凉岑玉 2010-12-30
  • 打赏
  • 举报
回复
另外··说明一下··如果我不调用JavaBean`也就是不创建JavaBean对象的话我的Servlet是完全可以运行的··
凉岑玉 2010-12-30
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 ethenjean 的回复:]
首先,我建议在写servlet的时候,不要覆盖service方法,而是覆盖doget和dopost方法。
其次,lz的GetJDBC不能称之为javabean,充其量可以成为dbutil,即数据库操作辅助类。除此之外,建议lz在进行数据库操作时,要显示的调用数据库的关闭,即在进行操作之后,显示关闭相应的statment,connection。
最后,建议lz把问题可以百度一下,你要相信你绝不是……
[/Quote]
多谢你 的建议,现在我才刚刚接触MVC··具体的逻辑层与控制层的划分还不是很清晰··
dwphts520 2010-12-30
  • 打赏
  • 举报
回复
难道他用的不是jdbc?
qq_992784113 2010-12-30
  • 打赏
  • 举报
回复
你这样写,还不如用jdbc
啊彪123 2010-12-30
  • 打赏
  • 举报
回复
这样的程序,上司看到就不舒服,肯定叫你写过 。。。写的象样点,有点格式吧!
happyfmy 2010-12-30
  • 打赏
  • 举报
回复
这里应该有你要的答案
http://zhidao.123doing.com/33236.html
bjvfubj 2010-12-30
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 ethenjean 的回复:]

首先,我建议在写servlet的时候,不要覆盖service方法,而是覆盖doget和dopost方法。
其次,lz的GetJDBC不能称之为javabean,充其量可以成为dbutil,即数据库操作辅助类。除此之外,建议lz在进行数据库操作时,要显示的调用数据库的关闭,即在进行操作之后,显示关闭相应的statment,connection。
最后,建议lz把问题可以百度一下,你要相信你绝不……
[/Quote] ++1 编程生涯就是这样的,没有人说自己是无所不知的
ethenjean 2010-12-30
  • 打赏
  • 举报
回复
首先,我建议在写servlet的时候,不要覆盖service方法,而是覆盖doget和dopost方法。
其次,lz的GetJDBC不能称之为javabean,充其量可以成为dbutil,即数据库操作辅助类。除此之外,建议lz在进行数据库操作时,要显示的调用数据库的关闭,即在进行操作之后,显示关闭相应的statment,connection。
最后,建议lz把问题可以百度一下,你要相信你绝不是遇到的此类问题的第一个人,类似问题肯定别人也遇到过,如果你运气好的话,可以顺利的找到解决办法,即使没有找到,你也可以在这过程中,学到一些知识以及与问题相关的解决思路,然后结合自己的具体情况,没准你就能自己解决了。

Think Nothing 2010-12-30
  • 打赏
  • 举报
回复
Daemon System Thread [Finalizer] (Suspended (exception NullPointerException))
呵呵,好像是空指针错误,具体在哪一行,debug模式下跟一下就知道了。
宁波朱超 2010-12-30
  • 打赏
  • 举报
回复
乱码。
凉岑玉 2010-12-30
  • 打赏
  • 举报
回复
唉··难办··先去睡觉··明天上课回来继续和大家讨论··但愿这个问题能勾起大家的兴趣··
凉岑玉 2010-12-30
  • 打赏
  • 举报
回复
回楼上的各位,我的程序独立起来完全能够运行·数据库连接也没问题的··而且··单纯的从页面传递参数给Servlet也能够接收到,但是当Servlet与javabean建立连接的时候就出错了··

81,092

社区成员

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

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