CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  Web 开发

请问高手指点迷经~~~~~~

楼主dpli365(人生的一半是java)2005-02-03 09:34:44 在 Java / Web 开发 提问

1.jsp中我作了一个连接数据库的类,DBOperate里面有一个静态方法,封装了返回结果集的sql,经测试无误:  
  DBOperate  
  {  
      static   Connection   conn;  
      public   static   ResultSet   dbQuery(String   sql)  
      {  
          ResultSet   rs;  
          ....  
          return   rs;  
      }  
  }  
  我作了另外一个类,通过这个类读数据库,经测试也没问题  
  Persion  
  {  
      public   String   id="";  
      public   String   name="";  
      public   Persion()  
      {  
      }  
      public   fillByID(String   id)  
      {  
          this.id=id;  
          sql="select   *   from   persion   where   id='"+id+"'";  
          ResultSet   rs=DBOperate.dbQuery(sql);  
          if   (   rs!=null   &&   rs.next)  
          {  
              name=rs.getString("name");  
          }  
      }  
      public   static   void   main(String[]   args)  
      {  
          Persion   persion=new   Persion();  
          persion.fillByID("1");  
          System.out.println(persion.name);  
      }  
  }  
  3.但在jsp的usebean中用就有问题了.  
  <jsp:useBean   id="persion"   scope="page"   class="Persion"/>  
  <%=persion.id%>  
  <%=persion.name%>  
  其中persion.id能取到数据,persion.name就取不到数据,但如果在一个main里面测试这样的代码,就能读到数据,经过反复查错,发现ResultSet=null,这是什么原因呢,是不是不能用静态方法呢,请高手指点  
   
  问题点数:0、回复次数:12Top

1 楼dpli365(人生的一半是java)回复于 2005-02-03 09:42:36 得分 0

补充一下,bean里面都写了get方法,只是我没写出来Top

2 楼jfy3d(剑事 http://www.migti.com)回复于 2005-02-03 09:43:04 得分 0

ResultSet   rs=DBOperate.dbQuery(sql);  
          if   (rs.next())  
          {  
              name=rs.getString("name");  
          }  
  Top

3 楼dpli365(人生的一半是java)回复于 2005-02-03 10:05:21 得分 0

着块没问题,因为只有一条数据,而且我在main里面测试过了,都能读出来,就是用在jsp的bean中不行啊Top

4 楼jfy3d(剑事 http://www.migti.com)回复于 2005-02-03 10:13:40 得分 0

都贴出来吧Top

5 楼dpli365(人生的一半是java)回复于 2005-02-03 10:29:06 得分 0

这是member.jsp页面  
  <%@page   contentType="text/html;   charset=gb2312"   language="java"%>  
  <html>  
  <head>  
  <title>溢洋论坛</title>  
  </head>  
  <body   text="#0000ff"   >  
  <table   cellspacing="0"   cellpadding="0"   border="0"   width="99%"   align="center">  
  <tr>  
        <p   align="center">查看用户资料</p>  
  </tr>  
    <jsp:useBean   id="memberClass"   scope="page"   class="entity.sys.Member"/>  
    <%!String   loginName;%>  
    <%  
          memberClass.fillByLoginName("dpli");  
    %>  
                  <tr   bgcolor="#F7FBFF">    
                      <td   width="42%">名称</td>    
                      <td   bgcolor="#F7FBFF"   width="58%"><%=memberClass.getLoginName()%>&nbsp;</td>  
                  </tr>  
                  <tr   bgcolor="#F7FBFF">    
                      <td   width="42%">用户昵称</td>    
                      <td   bgcolor="#F7FBFF"   width="58%"><%=memberClass.getNikeName()%>&nbsp;</td>  
                  </tr>  
                  <tr   bgcolor="#F7FBFF">    
                      <td   width="42%">用户姓名</td>    
                      <td   bgcolor="#F7FBFF"   width="58%"><%=memberClass.getRealName()%>&nbsp;</td>  
                  </tr>  
                  <tr   bgcolor="#F7FBFF">    
                      <td   width="42%">姓别</td>  
                      <td   width="58%"><%=memberClass.getSex()%>    </td>  
                  </tr>  
                  <tr   bgcolor="#F7FBFF">    
                      <td   width="42%">居住地址</td>  
                      <td   width="58%"><%=memberClass.getAddress()%>    </td>  
  </tr>  
  </table>  
  </body>  
  </html>Top

6 楼dpli365(人生的一半是java)回复于 2005-02-03 10:30:12 得分 0

这是Member.java  
  //网站会员  
  public   class   Member   extends   Person  
  {  
          //积分  
          private   int   integral;  
          //用户级别  
          private   int   level;  
          //购物次数  
          private   int   consumeTimes;  
          //账户余额  
          private   double   balance;  
          //消费总金额  
          private   double   ConsumeAmount;  
   
          public   Member()  
          {  
                  init();  
          }  
          public   boolean   fillByLoginName(String   loginName)  
          {  
                  if   (loginName   ==   null   ||   loginName.equals(""))  
                  {  
                          return   false;  
                  }  
                  boolean   rlt   =   false;  
                  String   sql   =   "select   loginName,loginPass,userType,nickName,"    
                                          +   "realName,Sex,Age,Phone,Mobile,Email,Address,JoinDate,"    
                                          +   "integral,level,consumeTimes,balance,consumeAmount   "  
                                          +   "from   e_sys_member   where   loginName='"    
                                          +   loginName   +   "'";  
                  ResultSet   rs   =   DatabaseOperate.dbExecuteQuery(sql);  
                  this.loginName   =   loginName;  
                  try  
                  {  
                          if   (rs   !=   null   &&   rs.next())  
                          {  
                                  this.loginPass   =   rs.getString("loginPass");  
                                  this.nikeName   =   rs.getString("nickName");  
                                  this.realName   =   rs.getString("realName");  
                                  this.sex   =   rs.getString("sex");  
                                  this.age   =   rs.getInt("age");  
                                  this.phone   =   rs.getString("phone");  
                                  this.mobile   =   rs.getString("mobile");  
                                  this.email   =   rs.getString("email");  
                                  this.address   =   rs.getString("address");  
                                  this.joinDate   =   rs.getDate("joinDate");  
                                  this.integral   =   rs.getInt("integral");  
                                  this.level   =   rs.getInt("level");  
                                  this.consumeTimes   =   rs.getInt("consumeTimes");  
                                  this.balance   =   rs.getDouble("balance");  
                                  this.ConsumeAmount   =   rs.getInt("consumeAmount");  
                                  rlt   =   true;  
                          }  
                  }  
                  catch   (SQLException   e)  
                  {  
                          e.printStackTrace();  
                          rlt   =   false;  
                  }  
                  return   rlt;  
          }  
          public   void   init()  
          {  
                  super.init();  
                  integral   =   0;  
                  level   =   GlobalData.Member.Level.LEVEL_0;  
                  consumeTimes   =   0;  
                  balance   =   0;  
                  ConsumeAmount   =   0;  
          }  
          public   double   getBalance()  
          {  
                  return   balance;  
          }  
   
          public   double   getConsumeAmount()  
          {  
                  return   ConsumeAmount;  
          }  
   
          public   int   getConsumeTimes()  
          {  
                  return   consumeTimes;  
          }  
   
          public   int   getIntegral()  
          {  
                  return   integral;  
          }  
          public   int   getLevel()  
          {  
                  return   level;  
          }  
   
  }  
  Top

7 楼dpli365(人生的一半是java)回复于 2005-02-03 10:30:58 得分 0

这是Person.java  
  package   entity;  
   
  import   java.util.Date;  
   
  import   util.GlobalData;  
  //joinDate字段可能为空  
  public   class   Person   extends   Entity  
  {  
          //用户名为索引  
          protected   String   loginName;  
          protected   String   loginPass;  
          protected   String   nikeName;  
          protected   String   realName;  
          protected   String   sex;  
          protected   int   age;  
          protected   String   phone;  
          protected   String   mobile;  
          protected   String   email;  
          protected   String   address;  
          protected   Date   joinDate;   //   new   Date(GlobalData.Global.INIT_DATA_STR);  
         
          public   Person()  
          {  
                  init();  
          }  
           
          protected   void   init()  
          {  
                  loginName   =   "";  
                  loginPass   =   "";  
                  nikeName   =   "";  
                  realName   =   "";  
                  sex   =   "";  
                  age   =   GlobalData.Global.INIT_AGE;  
                  phone   =   "";  
                  mobile   =   "";  
                  email   =   "";  
                  address   =   "";  
                  joinDate   =   null;   //   new   Date(GlobalData.Global.INIT_DATA_STR);  
   
          }  
          public   static   void   main(String[]   args)  
          {  
          }  
          public   String   getAddress()  
          {  
                  return   address;  
          }  
   
          public   int   getAge()  
          {  
                  return   age;  
          }  
          public   String   getEmail()  
          {  
                  return   email;  
          }  
          public   Date   getJoinDate()  
          {  
                  return   joinDate;  
          }  
          public   String   getLoginName()  
          {  
                  return   loginName;  
          }  
          public   String   getLoginPass()  
          {  
                  return   loginPass;  
          }  
          public   String   getMobile()  
          {  
                  return   mobile;  
          }  
          public   String   getNikeName()  
          {  
                  return   nikeName;  
          }  
          public   String   getPhone()  
          {  
                  return   phone;  
          }  
          public   String   getRealName()  
          {  
                  return   realName;  
          }  
          public   String   getSex()  
          {  
                  return   sex;  
          }  
   
  }  
  Top

8 楼jfy3d(剑事 http://www.migti.com)回复于 2005-02-03 10:43:55 得分 0

memberClass.fillByLoginName("dpli");是否返回trueTop

9 楼dpli365(人生的一半是java)回复于 2005-02-03 11:04:55 得分 0

我测过了返回false,原因是ResultSet=null,但是如果在main里面测试则不会为nullTop

10 楼dpli365(人生的一半是java)回复于 2005-02-03 11:51:28 得分 0

顶~~~Top

11 楼singedcat(以夢為馬)回复于 2005-02-04 10:29:34 得分 0

啥也别说了,缘分啦~Top

12 楼dpli365(人生的一半是java)回复于 2005-02-04 15:27:58 得分 0

请问大虾为什么,在main里面ResultSet不为空,在jsp中却为空,为什么呢Top

相关问题

  • 指点迷经
  • 请各位高手指点迷经
  • 仙人指路,指点迷经!!!
  • 迷惑,请有经验的人指点
  • 简单问题,指点迷经!!!!!
  • 请进来人指点迷经
  • 指点迷津
  • 指点迷津
  • 望指点迷津
  • 学习java的迷惑...望各位大侠指点迷经

关键词

  • 用户

得分解答快速导航

  • 帖主:dpli365

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo