当前位置:  技术问答>java相关

讨论:关于Bean中变量值的问题

    来源: 互联网  发布时间:2017-04-05

    本文导语:  代码如下: package E_Sms; import java.sql.*; import E_Sms.*; public class  CheckLink {        Test MT=null;      String strHint = "";      String strSQL="";   private String user_ln,user_name,user_pwd,user_bir,user_email,user_tel;   public vo...

代码如下:
package E_Sms;

import java.sql.*;

import E_Sms.*;

public class  CheckLink {

    
  Test MT=null;
  
  String strHint = "";
  
  String strSQL="";
  private String user_ln,user_name,user_pwd,user_bir,user_email,user_tel;

  public void CheckLink() {  }
     
   public short getLevel(String link)
   {//验证登录用户的合法性
          try
         {
       MT=new Test();
       MT.initBean();
       strSQL="select user_level from session where link='"+link+"'";
         ResultSet  rs = MT.executeQuery(strSQL);
      
         rs.first();
            return rs.getShort(1); 
        }
        catch(SQLException ex)
        {
          strHint = "executeQuery: " + ex.getMessage();
                  System.err.println(strHint);
        }
        return 3;
   }
   
   public int getUID(String link)
   {//验证登录用户的合法性
          try
         {
       MT=new Test();
       MT.initBean();
       strSQL="select user_id from session where link='"+link+"'";
         ResultSet  rs = MT.executeQuery(strSQL);
      
         rs.first();
            return rs.getInt(1); 
        }
        catch(SQLException ex)
        {
          strHint = "executeQuery: " + ex.getMessage();
                  System.err.println(strHint);
        }
        return -1;
   }
   
   public boolean CheckUNM(String uln,int user_id)
   {
    try
         {
       MT=new Test();
       MT.initBean();
       strSQL="select user_name from user_info where user_ln='"+uln+"'and user_id!="+user_id;
         ResultSet  rs = MT.executeQuery(strSQL);
      
         rs.last();
         int iRow=rs.getRow();
         if (iRow>0)
         {
            return true;
        }
                }
        catch(SQLException ex)
        {
          strHint = "executeQuery: " + ex.getMessage();
                  System.err.println(strHint);
        }
        return false;
   }
   
   public boolean CheckTel(String utel,int user_id)
   {
    try
         {
       MT=new Test();
       MT.initBean();
       strSQL="select user_tel from user_info where user_tel='"+utel+"'and user_id!="+user_id;
         ResultSet  rs = MT.executeQuery(strSQL);
      
         rs.last();
         int iRow=rs.getRow();
         if (iRow>0)
         {
            return true;
        }
                }
        catch(SQLException ex)
        {
          strHint = "executeQuery: " + ex.getMessage();
                  System.err.println(strHint);
        }
        return false;
   }
   
   public boolean getInfo(String link)//获取用户信息
   {
    try
       {
        MT=new Test();
        MT.initBean();
        strSQL="select * from user_info where user_id in (select user_id from session where link='"+link+"')";
         ResultSet  rs = MT.executeQuery(strSQL);
         if (rs.absolute(1))
         {
          user_ln=rs.getString("user_ln");
user_name=rs.getString("user_name");
user_pwd=rs.getString("user_pwd");
user_bir=rs.getString("user_bir");
user_email=rs.getString("user_email");
user_tel=rs.getString("user_tel");
          rs.close();
          return true;
         }
         else{
            rs.close();
            return false;
        }
        }
        catch(SQLException ex)
        {
          strHint = "executeQuery: " + ex.getMessage();
                  System.err.println(strHint);
        }
        return false;
   }
   
   public String getuser_bir()
   {
    return user_bir;
   }
   
   public String getuser_email()
   {
    return user_email;
   }
   
   public String getuser_tel()
   {
    return user_tel;
   }
   
   public String getuser_pwd()
   {
    return user_pwd;
   }
   
   public String getuser_name()
   {
    return user_name;
   }
   
   public String getuser_ln()
   {
    return user_ln;
   }
   
  
 

}//~class

会不会出现这样的问题:
A用户执行了getInfo("123")后同时B用户执行getInfo("456")
A用户执行getuser_bir()等函数得到的变量值是对应哪一个?
在Jsp中的调用如下:

感谢大家!

|
你是怎样调用bean的?
如果用new操作符,肯定得到的是一个新的实例(这是绝大多数情况下)。如果你在调用的时候用了单态模式,就有可能造成线程安全的问题。
for example:
public class GetObject{
  private static CheckLink checkOne;
  public static CheckLink getOneCheckLink()
  {
      if (checkOne==null)
      {
          checkOne = new CheckLink();
      }
      return checkOne;
  }
}

如果你的实例是从上面这个class得到的:
checkOne = GetObject.getOneCheckLink();
那就会出现你所说的那正情况。
btw,你的构造方法不对吧,怎么还有void,构造方法没有返回值。

|
UseBean就相当于new,所以不会有什么问题了。

|
我是这样认为的,在A用户执行了getInfo("123")后同时B用户执行getInfo("456"),其实jvm会为其创建不同的实例,也就是说A用户与B用户应该是独立的,他们有各自的实例,所以我想应该是互不影响的~

不知道我这样理解对不对~请大家说一下~~~~是个值得讨论的问题~

|
其实,根本的问题就是,在你的bean中,每一个属性都不是static的,你的bean也不是static的,这样,用户得到的实例就是不同的,实例的属性也不是同一个。

    
 
 

您可能感兴趣的文章:

  • 参数传递的问题!(大家讨论讨论)
  • 哪位高手有兴趣跟我讨论讨论java中调用dll文件??小弟有些问题还是不很清楚??
  • 和Java版高手在线讨论代理服务器的问题,讨论者都有分。
  • Java 访问控制的问题(public,private,protected,(default))!讨论讨论!
  • 这两天本版人气不高,我来发个问题,有关互斥同步的。大家讨论讨论
  • 请问这里可以讨论MINIX的问题吗?
  • 讨论linux的发展前途与有无用处问题。。。。。。。。。。。
  • LINUX下JAVA要代替C..?常跟朋友讨论的一个问题
  • 讨论LUXIN安装问题
  • 大家来讨论一个最实际的问题:)
  • 请问一下,关于arm下的嵌入式linux驱动相关问题请教是应该发在哪个讨论区?
  • 高手请进!讨论一个问题。
  • 关纯DOS下的256色、32K色、64K色问题讨论
  • 有挑战性的问题,大家一起讨论
  • 大家讨论一下指针数组的问题!
  • 老问题新讨论
  • 哇考,为什么在一个帖子里不能回复30次以上啊?这样子怎么和人家讨论问题啊?
  • 我看到大家都在讨论分数的问题,我如何看到自己的分数呢?
  • 请使用QT编程的朋友到以下网址讨论QT中遇到的问题!!!!!!!
  • Java与IE的问题!大家来讨论!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 最近发现大家对JavaMail的讨论较多,我也来一贴——SMTPClient Bean。希望对大家有点用。
  • Java 可以做拨号程序吗?我只是和大家讨论讨论 不必太认真
  • 欢迎高手来讨论:关于文件格式的大讨论
  • 用java开发一个基于Proxy(代理)的网络计费系统。有兴趣的来讨论讨论
  • 【讨论贴】gcc开发的时候有大家都有什么好的调试方法,来讨论下
  • 讨论讨论,当错误发生时,并用if语句测试出时,应该返回怎样的值
  • 一个面试,是“北京华胜六所”外包给风河(VxWorks)北京研发处,做linux内核开发,大家过来讨论讨论
  • 新建了个QQ群(软件与创业),希望有兴趣的朋友进来讨论讨论软件项目、产品、创业、管理、投资等(代码之外的)观点和想法
  • 用java做c/s结构可行吗???大家来讨论讨论,应该都会有收获。
  • 有没有人讨论value object模式
  • http://www.itpub.net 论坛更换数据库,速度更快,欢迎大家前去讨论!
  • 讨论“内存泄漏”
  • 很专业的问题请教J2EE高手!这是一个讨论区,有请各位对J2EE感兴趣的朋友参加讨论!
  • 大家一起讨论讨论,suse和ubuntu的区别,顺便散散分
  • 对大家很有意义的一个问题,建议大虾、菜鸟们都来讨论讨论#¥#·#¥·#%#¥%#¥%
  • 大家来讨论一下java 的发展前景
  • 谁会JAVA让我们共同学习和讨论JAVA
  • 100分大讨论:Servlet + var 模式 !
  • 欢迎大家一起来讨论:集群在J2EE中的实现。
  • 为什么在这里讨论编程的很少?
  • 讨论一下UNIX中的硬链接与符号链接


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3