从异常来看很可能是你写的jsp语法有错误.
你将代码贴出来看看,只看异常真的让人很糊涂.

解决方案 »

  1.   

    java.lang.NullPointerException你用了一个没赋值的对象
      

  2.   

    我的那个注册用户名的页面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());
        }
      }
    }
      

  3.   

    appleangle:我用jsp调用java的类来连接数据库,算是哪个连接了呢
    zhutouzip:我把那个用来注册用户名的jsp页面的代码贴出来了,不知道是哪里出错...帮忙~
    taglib\;也不知道哪个对象没有被付值啊...因为太菜了...对了,我用过另一个java程序连接同样的那个数据库,也是用同样的数据库驱动,连接同一个MyDataBase,结果可以连接的
    但是就这个jsp的连接不了...
      

  4.   

    DbLink.DbLink("sa","123456","MyDataBase");
    我认为可能是这一句有问题,你将DbLink写成一个servlet,
    在jsp文件中加上:
    <jsp:useBean id="dblink" class="mybook.DbLink" scope="session"/>
    然后再用dblink去实现相应的数据库操作,即dblink是一个DbLink的对象.
    最好将你的package改为小写,将DbLink编译放进mybook目录下.
    这样再看看有没有问题?
      

  5.   

    写错了,应该将DbLink改成一个
    JavaBean
      

  6.   

    zhutouzip你好,谢谢你的回复
    我按照你上面说的做了
    但是我要怎样把原来的java文件改写成JavaBean啊
      

  7.   

    你按照javaBean的一些规定将Dblink改为javaBean
    (1)为你的每个数据域添加setter和getter方法.
    (2)你的其它进行数据库操作的函数不变.
    完成后编译,生成的目录要和package对应.
    <jsp:useBean id="dblink" class="mybook.DbLink" scope="session"/>
    再运用上述语句生成一个bean的实例.
    这时你就可以用dblink去做你想做的操作了.