今天的话题非常有趣!这和当初读Java VM规范中关于Class Loader部分时的感觉一样。如果需要可以将Java Class放到数据库中或网络上,等等,当然还可以想到更多 ... ,只是不放到文件系统中。如果没有需要就不要这么做,否则会很无聊。
该话题源于这里The Resources Component。
通常使用tomcat只需要把web应用程序拷贝到$CATALINA_HOME/webapps目录下,此时web应用程序是以文件的形式存在于文件系统之中。我们对此已经习以为常了,然而tomcat还允许使用其它的方式:
如果您要对相关web应用程序进行加密,这里也提供了一种可行的方法。例如可以将web应用中的每一个文件加密后压缩到一个zip文件中,也可以先将整个web应用置于zip文件中在对zip文件加密。
要完成上面描述的内容,需要自己实现javax.naming.directory.DirContext接口。在此之前可能需要仔细研究一下tomcat提供的一些实现,如FileDirContext和WARDirContext等。
这个话题中的内容是tomcat相关的,如果您不使用tomcat,那么您需要仔细查阅您的web服务器的文档。
最后,我们必须告诉大家:我们没有实现过上面描述的内容,因此也不知道将会遇到什么样的困难。这里只是描述一种可能。