您的位置:首页 >> 编程开发 >> Java >> JavaBeans >> 正文
RSS
 

Petstore源码追踪记(3)-商业逻辑处理(四)

http://www.rdxx.com 01年11月18日 11:08 互联网 我要投稿

关键词: 商业 , 逻辑 , Stor
Petstore源码记纵记(3)-商业逻辑处理()
                                         
欧宣修
图文并茂版请参考
http://www.javatwo.net/JavaPaper/Petstore-3_business_logic.pdf

接续上期...

我们已了解SignOnFilterWeb tier处理登入工作的步骤,它需要透过EJB tier数据库读取资料进行比对,所以接下来探讨在EJB tier的运作情形,从图1415可找出实际对应的EJB,从图上面可知此EJB的属性是Local Stateless
Session Bean
,这很少见,大部份的书介绍到Local Bean的用法都用在Entity Bean,由此可知Local Bean的用法亦可用在Session Bean
     SignOnEJB
,源码在Petstore_home\src\components\signon\src\com\sun\j2ee\blueprints\signon\ejb\SignOnEJB.java,请读者顺便加上侦察程序代码:
    
public class SignOnEJB implements SessionBean {

    private static final String USER_HOME_ENV_NAME =
"java:comp/env/ejb/local/User";
    private InitialContext ic = null;
    private UserLocalHome ulh = null;

    public void ejbCreate() throws CreateException {
      try {
        ic = new InitialContext();
        //
取得UserLocalHome Reference,它是代表使用者基本资料的Local Entity Bean
        ulh = (UserLocalHome) ic.lookup(USER_HOME_ENV_NAME);
      } catch (NamingException ne) {
         throw new EJBException("SignOnEJB Got naming exception! " +
ne.getMessage());
      }
    }

    /**
     *
此函数由SignOnFilter呼叫,依使用者帐号找出对应的User实体
   *(instance),然后呼叫User实体的密码比对函数-user.matchPassword()
     * business method used to check if a user is allowed to sign on
     */
    public boolean authenticate(String userName, String password) {
    //请加入侦察程序代码,方便稍候程序验证
System.out.println("SignOnEJB
执行authenticate()进行使用者验证
userName="+userName+", password="+password);
        try {
            UserLocal user = ulh.findByPrimaryKey(userName);
            return user.matchPassword(password);
        } catch (FinderException fe) {
            return false; // User not found, so authentication failed.
        }
    }
    
以下略...
    

16 SignOnEJBEJB Reference
    
UserEJB
,源码在
Petstore_home\src\components\signon\src\com\sun\j2ee\blueprints\signon\user\ejb\
9 7 3 1 2 3 4 4 8 :

 
 
标签: 商业 , 逻辑 , Stor 打印本文
 
 
  热点搜索
 
 
 



Valid XHTML 1.0 Transitional
Copyright ©2005 - 2008 Rdxx.Com,All Rights Reserved
收藏本页
收藏本站