`
conquer0
  • 浏览: 78400 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

tomcat6 jndi 三

阅读更多
4.DBUserInfo.java如下:
package com.huawei.support.dao;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.huawei.it.common.encryption.exception.AppException;
import com.huawei.it.common.encryption.util.DESEncryptionFactory;
import com.huawei.it.common.encryption.util.DESEncryptor;
import com.huawei.support.exception.ApplicationException;

public class DBUserInfo
{
    private static Log sLog = LogFactory.getLog(DBUserInfo.class);
    private String mUserName;
    private String mPassword;
    public String getmUserName()
    {
        return mUserName;
    }
    public void setmUserName(String aUserName)
    {
        this.mUserName = aUserName;
    }
    public void setmPassword(String aPassword)
    {
        this.mPassword = aPassword;
    }
    public String getmPassword() throws ApplicationException
    {
        String pwd = null;
        try
        {
            Context initCtx = new InitialContext();

            if (initCtx == null)
            {
                throw new ApplicationException("Context初始化失败! ");
            }
            // 在JNDI中查找
            Context ctx = (Context) initCtx.lookup("java:comp/env");
            if (ctx != null)
            {
                DBUserInfo dbUserInfo = (DBUserInfo) ctx.lookup("dbUserInfo");
                if (dbUserInfo != null)
                {
                    // DES解密
                    pwd = decrypt(dbUserInfo.mPassword);
                }
            }
        }
        catch (NamingException e)
        {
            sLog.error(e);
            // TODO:JUnit测试用,正式环境需要删除.
            pwd = "tbz19078";

//            throw new ApplicationException(e);
        }
        return pwd;
    }
    /** DES解密.
     * @param aDataSource 加密过的密文
     * @return 解密后的明文
     * @throws ApplicationException ApplicationException
     */
    private static String decrypt(String aDataSource)
        throws ApplicationException
    {
        DESEncryptionFactory factory = null;
        try
        {
            factory = DESEncryptionFactory.getInstance();
            DESEncryptor encryptor =
                factory.getEncryptor(DESEncryptionFactory.DES);
            return encryptor.decrypt(aDataSource);
        }
        catch (AppException e)
        {
            sLog.error("DES解密出错!");
            sLog.error(e);
            throw new ApplicationException(e);
        }
    }
}
分享到:
评论

相关推荐

    Tomcat中JNDI原理

    ### Tomcat中JNDI原理详解 #### 一、引言 Java Naming and Directory Interface (JNDI) 是Java平台中用于访问命名和目录服务的API。它为开发者提供了访问各种命名和目录服务(如DNS、LDAP等)的统一接口。在Tomcat...

    tomcat8 JNDI数据源加密

    TOMCAT8 JNDI对用户名和密码加密

    tomcat6中配置JNDI方法

    #### 三、Tomcat6配置JNDI步骤 下面详细介绍在Tomcat6环境下配置JNDI的具体步骤: ##### 3.1 配置`context.xml` - 打开Tomcat安装目录下的`conf/context.xml`文件,在`<Context>`标签内添加数据源配置信息。 ```...

    tomcat-jndi

    《深入理解Tomcat JNDI》 在Java应用服务器中,Tomcat是一个广泛使用的轻量级服务器,而JNDI(Java Naming and Directory Interface)则是Java平台中的一个核心API,用于提供命名和目录服务。本篇文章将深入探讨...

    在Tomcat配置JNDI数据源的三种方式

    在Tomcat配置JNDI数据源的三种方式

    tomcat配置jndi数据源

    Tomcat 配置 JNDI 数据源 Tomcat 是一个流行的 Java Web 服务器,JNDI(Java Naming and Directory Interface)是 Java 中的一种命名和目录接口规范。Tomcat 中的 JNDI 数据源是指将数据库连接信息注册到 JNDI ...

    Tomcat6.0 JNDI数据源经典实例

    在Java应用服务器中,如Tomcat 6.0,JNDI(Java Naming and Directory Interface)数据源是一种标准的方法来管理数据库连接。JNDI允许应用程序通过一个全局名称查找资源,比如数据源,而无需硬编码数据库连接参数。...

    Tomcat配置JNDI数据源的N种方法

    Tomcat配置JNDI数据源的N种方法

    Tomcat6配置JNDI出错

    在本文中,我们将深入探讨“Tomcat6配置JNDI出错”这一主题,这是一个常见的问题,很多开发者在搭建和配置Java企业级应用时可能会遇到。 JNDI,全称Java Naming and Directory Interface,是Java平台的一个标准接口...

    eclipse+mysql+tomcat配置JNDI

    eclipse+mysql+tomcat配置JNDI实现例子 博文链接:https://uuplace.iteye.com/blog/88878

    tomcat配置JNDI数据源

    【标题】:“Tomcat配置JNDI数据源” 【描述】:“在Tomcat服务器上配置JNDI数据源,特别是通过DBCP连接池的方式” 【标签】:“tomcat,配置,JNDI数据源” 【内容】:配置JNDI数据源在Java Web应用程序中是一个...

    intellij idea使用tomcat开发时自动部署jndi数据源

    在这个场景中,“intellij idea使用tomcat开发时自动部署jndi数据源”是一个重要的知识点,它涉及到如何在IDE中配置和管理数据库连接,以便于在应用运行时动态地查找和使用数据源。 JNDI(Java Naming and ...

    Tomcat通过JNDI方式连接SqlServer数据库

    使用Tomcat通过JNDI方式连接SqlServer数据库 在本文中,我们将介绍如何使用Tomcat通过JNDI方式连接SqlServer数据库。JNDI(Java Naming and Directory Interface)是一种Java API,用于访问命名和目录服务。在...

    tomcat6.0 配置jndi

    【标题】:“Tomcat6.0配置JNDI” 在Java Web开发中,Tomcat作为常用的Servlet容器,经常被用于部署和运行Java EE应用程序。JNDI(Java Naming and Directory Interface)是Java平台的一项服务,它允许应用程序通过...

    tomcat jndi数据源解密factory

    自定义jndi数据源factory类,用于解密jndi中的加密数据,解密方式为DES,具体可根据实际需求修改。

    tomcat配置jndi

    **Tomcat配置JNDI详解** Java Naming and Directory Interface (JNDI) 是Java平台提供的一种标准服务,用于管理和查找应用程序中的资源,如数据源、邮件服务器等。在Tomcat应用服务器中,JNDI被用来注册和查找数据...

    TOMCAT7 JNDI修正版

    数据源可以不用写java:comp了,直接写ID和WEBLOGIC一样 数据源可以不用写java:comp了,直接写ID和WEBLOGIC一样数据源可以不用写java:comp了,直接写ID和WEBLOGIC一样

    tomcat6+jndi+c3p0配置数据库连接池

    本示例主要讲解如何在Tomcat6中结合JNDI(Java Naming and Directory Interface)和C3P0库来配置数据库连接池,这对于初学者理解Web应用服务器与数据库的交互方式具有很大帮助。 首先,C3P0是一个开源的JDBC连接池...

    Tomcat JNDI配置

    Tomcat JNDI 配置 Tomcat JNDI 配置是 Java Web 应用程序中的一种常见配置,用于将数据库连接信息以 JNDI(Java Naming and Directory Interface)的形式存储在 Tomcat 服务器中,以便于应用程序可以通过 JNDI 来...

Global site tag (gtag.js) - Google Analytics