求救:一个用jsp和java连接数据库时产生的错误 从异常来看很可能是你写的jsp语法有错误.你将代码贴出来看看,只看异常真的让人很糊涂. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 java.lang.NullPointerException你用了一个没赋值的对象 我的那个注册用户名的页面Login1.jsp的代码如下:<%@ page contentType="text/html;charset=gb2312" %><%@ page import="java.sql.*,java.lang.*,java.util.*" %> <% String Param = (String) request.getParameter("Param"); if (Param != null) { String YHM = (String) request.getParameter("YHM").trim(); //YHM是指用户名 if (! YHM.equals("")) { String StrSQL="select count(*) as counter from Login where YHM='"+YHM+"'"; DbLink.DbLink("sa","123456","MyDataBase"); ResultSet rs = DbLink.DbQuery(StrSQL); rs.next(); int Count = 0; Count = rs.getInt("counter"); rs.close(); if (Count != 0 ) { out.println("<div align=center><font color=ac0cc>用户已经存在,请重新输入!</font></div><br>"); } else { session.setAttribute("YHM",YHM); response.sendRedirect("Login2.jsp"); } } else { out.println("<div align=center><font color=ac0cc>用户名不能为空,请重新输入!</font></div><br>"); } } %>其中用到的那个java文件(在WEB-INF\classes\MyBook目录下)的源代码如下:package MyBook;import java.sql.*;import java.lang.*;public class DbLink{ String Sa,Password;//用户名和密码 Connection Conn = null; String StrURL = "jdbc:odbc:";//连接的数据库 String ConnDriver = "sun.jdbc.odbc.JdbcOdbcDriver";//jdbc.odbc使用的驱动程序 Statement Stmt = null;//声明语句对象 ResultSet rs = null;//返回数据集 public void DbLink(String sa,String password,String URL1) { StrURL += URL1; Sa = sa; Password = password; try { Class.forName(ConnDriver);//指定使用的驱动程序 } catch(ClassNotFoundException e) { System.err.println(e.getMessage()); } } public ResultSet DbQuery(String StrSQL) { try { Conn = DriverManager.getConnection(StrURL,Sa,Password);//连接数据库 Stmt = Conn.createStatement();//得到Statement对象 rs = Stmt.executeQuery(StrSQL);//执行SQL语句 } catch(SQLException e) { System.err.println(e.getMessage()); } return rs; } public void DbExcute(String StrSQL) { try { Conn = DriverManager.getConnection(StrURL,Sa,Password); Stmt = Conn.createStatement(); Stmt.executeUpdate(StrSQL); } catch(SQLException e) { System.err.println(e.getMessage()); } }} appleangle:我用jsp调用java的类来连接数据库,算是哪个连接了呢zhutouzip:我把那个用来注册用户名的jsp页面的代码贴出来了,不知道是哪里出错...帮忙~taglib\;也不知道哪个对象没有被付值啊...因为太菜了...对了,我用过另一个java程序连接同样的那个数据库,也是用同样的数据库驱动,连接同一个MyDataBase,结果可以连接的但是就这个jsp的连接不了... DbLink.DbLink("sa","123456","MyDataBase");我认为可能是这一句有问题,你将DbLink写成一个servlet,在jsp文件中加上:<jsp:useBean id="dblink" class="mybook.DbLink" scope="session"/>然后再用dblink去实现相应的数据库操作,即dblink是一个DbLink的对象.最好将你的package改为小写,将DbLink编译放进mybook目录下.这样再看看有没有问题? 写错了,应该将DbLink改成一个JavaBean zhutouzip你好,谢谢你的回复我按照你上面说的做了但是我要怎样把原来的java文件改写成JavaBean啊 你按照javaBean的一些规定将Dblink改为javaBean(1)为你的每个数据域添加setter和getter方法.(2)你的其它进行数据库操作的函数不变.完成后编译,生成的目录要和package对应.<jsp:useBean id="dblink" class="mybook.DbLink" scope="session"/>再运用上述语句生成一个bean的实例.这时你就可以用dblink去做你想做的操作了. 找LIST中最小值 初学者的问题,很急 救命啊,怎么设备jdk的环境变量啊,有没有帮忙的啊~~~ 初学者问题:怎么改变消息字体的大小? C, C++, Java函数(方法)前面加Static关键字含义有何区别? 再提一个.字符串问题.大家帮帮忙吧~~~~~~~! 高分请教,高手请进!!!!!!!1 怎么把16进制转换成2进制?(在线急等) 在一个包中导入另外一个包中的类,编译出错--导入的包无效!!!急,请教! 2001年最后一次求助!请高手帮助!在线等待! 程序无法运行 200分求助,升级mysql驱动到3.1.7设置字符编码没有任何作用了!!!!
<%@ page contentType="text/html;charset=gb2312" %>
<%@ page import="java.sql.*,java.lang.*,java.util.*" %> <%
String Param = (String) request.getParameter("Param");
if (Param != null)
{
String YHM = (String) request.getParameter("YHM").trim(); //YHM是指用户名
if (! YHM.equals(""))
{
String StrSQL="select count(*) as counter from Login where YHM='"+YHM+"'";
DbLink.DbLink("sa","123456","MyDataBase");
ResultSet rs = DbLink.DbQuery(StrSQL);
rs.next();
int Count = 0;
Count = rs.getInt("counter");
rs.close();
if (Count != 0 )
{
out.println("<div align=center><font color=ac0cc>用户已经存在,请重新输入!</font></div><br>");
}
else
{
session.setAttribute("YHM",YHM);
response.sendRedirect("Login2.jsp");
}
}
else
{
out.println("<div align=center><font color=ac0cc>用户名不能为空,请重新输入!</font></div><br>");
}
}
%>其中用到的那个java文件(在WEB-INF\classes\MyBook目录下)的源代码如下:package MyBook;
import java.sql.*;
import java.lang.*;
public class DbLink
{
String Sa,Password;//用户名和密码
Connection Conn = null;
String StrURL = "jdbc:odbc:";//连接的数据库
String ConnDriver = "sun.jdbc.odbc.JdbcOdbcDriver";//jdbc.odbc使用的驱动程序
Statement Stmt = null;//声明语句对象
ResultSet rs = null;//返回数据集
public void DbLink(String sa,String password,String URL1)
{
StrURL += URL1;
Sa = sa;
Password = password;
try
{
Class.forName(ConnDriver);//指定使用的驱动程序
}
catch(ClassNotFoundException e)
{
System.err.println(e.getMessage());
}
}
public ResultSet DbQuery(String StrSQL)
{
try
{
Conn = DriverManager.getConnection(StrURL,Sa,Password);//连接数据库
Stmt = Conn.createStatement();//得到Statement对象
rs = Stmt.executeQuery(StrSQL);//执行SQL语句
}
catch(SQLException e)
{
System.err.println(e.getMessage());
}
return rs;
}
public void DbExcute(String StrSQL)
{
try
{
Conn = DriverManager.getConnection(StrURL,Sa,Password);
Stmt = Conn.createStatement();
Stmt.executeUpdate(StrSQL);
}
catch(SQLException e)
{
System.err.println(e.getMessage());
}
}
}
zhutouzip:我把那个用来注册用户名的jsp页面的代码贴出来了,不知道是哪里出错...帮忙~
taglib\;也不知道哪个对象没有被付值啊...因为太菜了...对了,我用过另一个java程序连接同样的那个数据库,也是用同样的数据库驱动,连接同一个MyDataBase,结果可以连接的
但是就这个jsp的连接不了...
我认为可能是这一句有问题,你将DbLink写成一个servlet,
在jsp文件中加上:
<jsp:useBean id="dblink" class="mybook.DbLink" scope="session"/>
然后再用dblink去实现相应的数据库操作,即dblink是一个DbLink的对象.
最好将你的package改为小写,将DbLink编译放进mybook目录下.
这样再看看有没有问题?
JavaBean
我按照你上面说的做了
但是我要怎样把原来的java文件改写成JavaBean啊
(1)为你的每个数据域添加setter和getter方法.
(2)你的其它进行数据库操作的函数不变.
完成后编译,生成的目录要和package对应.
<jsp:useBean id="dblink" class="mybook.DbLink" scope="session"/>
再运用上述语句生成一个bean的实例.
这时你就可以用dblink去做你想做的操作了.