是这样的·小弟最近刚学习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
跪求高人指点··能解释为什么以及解决办法的话更是不胜感激!
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
跪求高人指点··能解释为什么以及解决办法的话更是不胜感激!
解决方案 »
- 关于myeclipse下新建web项目之后404问题
- 系统性能
- 求教flexigrid排序时重置查询条件的问题。
- ibm db2 数据库的驱动是db2java.zip 这个,为什么我这个代码链接不来?
- 求助:jsp下拉框怎么设定option被选中?在线等……
- tomcat 6 下 能加 shared/lib 文件夹么?
- cannot find bean xxx(bean的名字) in any scope' ,怎么解决?
- 求教-struts中<html:text>标签
- webservice客户端调用服务端org.codehaus.xfire.fault.XFireFault: java.lang.NullPointerExce
- 这样的方法怎么写,多谢
- 关于Open Flash Chart
- 急!求叫SQL问题,麻烦解答下。
2. 如果不能,那就从这里找问题,如JDBC驱动的版本,连接字符串等,印象中SqlServer好像没怎么用过,一步一步的检查出问题所在。
呵呵,好像是空指针错误,具体在哪一行,debug模式下跟一下就知道了。
其次,lz的GetJDBC不能称之为javabean,充其量可以成为dbutil,即数据库操作辅助类。除此之外,建议lz在进行数据库操作时,要显示的调用数据库的关闭,即在进行操作之后,显示关闭相应的statment,connection。
最后,建议lz把问题可以百度一下,你要相信你绝不是遇到的此类问题的第一个人,类似问题肯定别人也遇到过,如果你运气好的话,可以顺利的找到解决办法,即使没有找到,你也可以在这过程中,学到一些知识以及与问题相关的解决思路,然后结合自己的具体情况,没准你就能自己解决了。
http://zhidao.123doing.com/33236.html