处理webapp中的MANIFEST.MF(转)
来源:互联网 发布:北京熊猫公寓 知乎 编辑:程序博客网 时间:2024/05/29 18:38
在代码回顾中经常会看到一些特别糟糕的代码。像其他人指出的那样,我有时候也会写出很糟糕的代码。
然而在大部分情况下,这是由于开发人员没有对问题做深入的理解:大部分人学习的知识(在大学或从高级开发人员处学习)是几年前的。有些人仅仅是在百度搜索问题,然后粘贴找到的代码。
这个小小的文章简单的讲解处理web应用上下文的manifest文件的正确方式。这看上去很简单,但是有很多种方式来实现它,到现在为止我发现只有一个正确的方法。
作为开始,一个非常不好的处理它的方式将是如此:
InputStream
Manifest manifest = new Manifest(inputStream);
为什么不好?因此,基于你的类加载器策略,你可能会获取到另外一个manifest,可能完全和web应用无关:例如,上述代码片段可能获取到EAR的manifest,当使用默认类加载器策略时(父优先Parent-First)。
另一个错误的代码将是如下,基于相同的原因:
URL url =getClass().getProtectionDomain().getCodeSource().getLocation();
InputStream
最后,一个人可能尝试获取war中的manifest文件,但是他忽略了WAR将被包装为EAR文件或以解包的方式进行部署。
我认为唯一的方式是通过应用服务器提供的API来执行:
ServletContext application =getServletConfig().getServletContext();
InputStream
Manifest manifest = new Manifest(inputStream);
这就是了:非常直接的使用了应用服务器提供的功能。
- 处理webapp中的MANIFEST.MF(转)
- MANIFEST.MF中的格式问题
- jar包中的MANIFEST.MF
- CTK 中的 MANIFEST.MF 文件
- MANIFEST.MF 中的 bundle 元数据信息描述(转)
- MANIFEST.MF 中的 bundle 元数据信息描述(转)
- MANIFEST.mf
- MANIFEST.MF
- MANIFEST.MF
- MANIFEST.MF
- MANIFEST.MF
- MANIFEST.MF
- MANIFEST.MF
- MANIFEST.MF
- MANIFEST.MF
- jar包中的MANIFEST.MF文件解析
- maven assembly 增加MANIFEST.MF中的main
- jar包中的MANIFEST.MF文件学习
- [转]稳定的NTP时间同步服务器集群…
- 深入jar包:从jar包中读取资源文件
- java读取jar包里文件内容
- 路漫漫其修远兮,吾将上下而求索
- 从JAR文件中读取文件
- 处理webapp中的MANIFEST.MF(转)
- getServletContext() 和getSe…
- 【转】Tomcat 6.0下创建虚拟…
- 怎样制作自解压jar文件
- CSS Sticky Footer:&nbs…
- JDK7新特性 监听文件系统的更改
- ORACLE 实现 date 前后增减
- jdbc向数据库中保存图片
- JAVA字符串转日期或日期转字符串