error code:  0      date:  2003-04-06  10:19:46  
message   :  DBConnect--excute sql:
error code:  0      date:  2003-04-06  10:22:05  
message   :  DBConnect--excute sql:select * from student where studno = '012002001406'
error code:  0      date:  2003-04-06  10:22:05  
message   :  Loginservlet--after query code
error code:  0      date:  2003-04-06  10:22:05  
message   :  Loginservlet--columeCount7
error code:  0      date:  2003-04-06  10:22:05  
message   :  Loginservlet--RS was not null
error code:  0      date:  2003-04-06  10:22:05  
message   :  studno:012002001406
error code:  0      date:  2003-04-06  10:22:05  
message   :  name:李展博
error code:  0      date:  2003-04-06  10:22:05  
message   :  sex:m
error code:  0      date:  2003-04-06  10:22:05  
message   :  departno:01200200
error code:  0      date:  2003-04-06  10:22:05  
message   :  classno:0120020014
error code:  0      date:  2003-04-06  10:22:05  
message   :  status:0
error code:  0      date:  2003-04-06  10:22:06  
message   :  AFTERFORWARD
error code:  0      date:  2003-04-06  10:22:06  
message   :  DBConnect--excute sql:select * from student where studno = 'null'
error code:  0      date:  2003-04-06  10:22:06  
message   :  Loginservlet--after query code
error code:  0      date:  2003-04-06  10:22:06  
message   :  Loginservlet--columeCount7
error code:  0      date:  2003-04-06  10:22:06  
message   :  AFTERFORWARD
记的Log内容如上.
看log好像Login执行了两次,第一次得到了结果,第二次就返回空.最后,servlet转向的jsp上得到的内容全部是null.配置:
mysql+tomcat4.0解决问题的兄弟姐妹尽管开口,馆子是没法上了,分可以另外再加.

解决方案 »

  1.   

    你贴的代码是一个方法吧,可能是这个方法被调用了两次,完整的servelt帖一下看看
      

  2.   

    package com.jerry.servlet;import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.util.*;
    import java.sql.*;
    import com.jerry.db.*;
    import com.jerry.pub.*;public class LoginServlet extends HttpServlet {
    //String flag = null;
    public void init(ServletConfig config) throws ServletException {
    super.init(config);
    } public void service(HttpServletRequest req, HttpServletResponse res)
    throws ServletException, IOException {
    ServletContext context = getServletContext();
    HttpSession session = req.getSession(true);
    ResultSet RS = null; 
    String studid = null;
    String pwd = null;
    int count = 0;
    studid = (String)req.getParameter("studid");
    pwd = (String)req.getParameter("password");
    DBConnect dbc = new DBConnect();
    try
    {
    RS = dbc.QueryRecord("select * from student where studno = '"+studid+"'");
    Log.write("Loginservlet--after query code");
    if(RS.wasNull())
    {
    Log.write("Loginservlet--RS wasNull");
    session.putValue("title","错误");
    session.putValue("message","用户不存在或密码错误!");
    RequestDispatcher nouserinfo = context.getRequestDispatcher("/error.jsp");
    nouserinfo.forward(req, res);
    return;
    }
    ResultSetMetaData RSMD = RS.getMetaData(); 
    int columeCount = RSMD.getColumnCount(); 
    Log.write("Loginservlet--columeCount"+columeCount);
    while (RS.next())
    {
    Log.write("Loginservlet--RS was not null");
    for(int cc = 1;cc<columeCount;cc++)

    session.putValue(RSMD.getColumnName(cc), RS.getString(cc));
    Log.write(RSMD.getColumnName(cc)+":"+RS.getString(cc));
    }

    RequestDispatcher nouserinfo = context.getRequestDispatcher("/main.jsp");
    nouserinfo.forward(req, res);
    Log.write("AFTERFORWARD");
    return;
    }
    catch (SQLException E) {
    Log.write("SQLException: " + E.getMessage());
    System.out.println("SQLState:     " + E.getSQLState());
    System.out.println("VendorError:  " + E.getErrorCode());
    session.putValue("title","错误");
    session.putValue("message","数据库访问错误!请与系统管理员联系!<br>错误信息:"+E.getMessage());
    RequestDispatcher nouserinfo = context.getRequestDispatcher("/error.jsp");
    nouserinfo.forward(req, res);
    return;
    }
    }
    }
      

  3.   

    没看出有什么问题,会不会是jsp的问题呢?
      

  4.   

    建议代码写在 doPost 方法里面。  不要写在  service 方法里面
      

  5.   

    to: wangzhiqing(乱马1/2) 
    高!高!实在高!
    搞定!真TNND怪,以后要记住了!
    我该如何感激你呢?
      

  6.   

    奇怪了,service方法按说是可以同时处理get和post的啊。
    不过书上的确建议不要直接重载service方法了……