读书人

自定义ClassLoader在Tomcat中的有关问

发布时间: 2012-12-20 09:53:21 作者: rapoo

自定义ClassLoader在Tomcat中的问题
公司要求做加密,于是上网搜啊,都说加密重要的.class,自定义ClassLoader加载加密的class,其实我感觉也没有用,defineClass时还是要解密。但是其间遇到一个问题一直不知道什么原因:

Jdk1.6 Tomcat5.5
自定义的ClassLoader类:MyClassLoader
待解密的类:LicenseUtils
我用MyClassLoader加载LicenseUtils时的代码:

public void init() {    //自定义的类 License    com.test.encrypt.License lic = new com.test.encrypt.License();    //如果是第三方的jar包也报错    System.out.println("init method");}



我思忖,Java Application 和 Web Application有什么区别呢?
Jdk有三个ClassLoader,利用委派方式加载类,Tomcat定制了自己一系列的ClassLoader来加载类,我自己写
的MyClassLoader继承自Jdk的ClassLoader,Tomcat的WebAppClassLoader继承自URLClassLoader,URLClassLoader又继承自ClassLoader。

查了Apache的Mailing Lists发现有人说Tomcat只能用继承自WebAppClassLoader的ClassLoader

有人遇到过吗?或者看出有什么问题的 1 楼 wupuyuan 2011-09-27 没有尝试过自己的ClassLoad。不过我用过jks,如果不是要加密class,可以用它看看。

读书人网 >编程

热点推荐