如何将资源映射到打包后的jar中

facedge 2008-09-10 09:06:30
一个web项目,由于要部署到客户的服务器,或者是给代理商一个演示的版本,但java web太容易反编译,所以,想尽可能地进行加密和封装。目前已经做到了将所有的jsp和class打包成jar全部放到了lib下,这样就看不到任何class文件和jsp文件。现在有一个问题,如何将其他的资源文件也尽可能地打包到后台,在根目录看不到。例如根目录有很多*.doc和*.exe等,可供下载。一般都是直接放在root下,这样,有了部署文件,就可以直接复制。现在的想法是,将这些文件打包成jar,再做一个servlet或者是filter,将链接映射其中,然后从后台的jar里动态读取,以流的形式提供。这样的话,就能进一步保护资源文件。我已经用此方法实现了个别文件的打包,但是,有没有现成的库或者现成的框架能完成这个工作呢?主要是想针对一个目录或者一类文件进行打包。可能有人会质问,这样做到底有没有必要,或者其他,但这毕竟也是一种保护资源的方法。谢谢。
...全文
186 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
facedge 2008-09-10
  • 打赏
  • 举报
回复
我已经有了思路,只是想看看有没有现成的框架或者是更好的思路。再等下,没有更好的思路,我就结贴了。按自己的思路去试试看。

我已经考虑了两个方向去实现,一个是filter,一个是servlet。可以将一堆资源文件进行打包,然后通过映射的方式进行访问。这个封装是透明的,对现有代码不做任何影响,只需要对资源进行简单的调整和加入映射配置即可,容易拆卸。
facedge 2008-09-10
  • 打赏
  • 举报
回复
to java2000_net:
是的,目的只是尽可能地封装,确实是用来骗外行的。我们已经做了很多封装,这只是其中一个环节。
facedge 2008-09-10
  • 打赏
  • 举报
回复
to java2000_net:
我前面已经说了,这只是为了实现一个特定的目的而想去做的功能,当然性能上会有影响,但那不是重点。
打包成war还是会被容器解包的。
老紫竹 2008-09-10
  • 打赏
  • 举报
回复
任何ear,jar,war都可以用winzip解压缩,所以带来的安全性几乎没有,骗骗外行而已,。
facedge 2008-09-10
  • 打赏
  • 举报
回复
现在不是打包的问题,打包已经可以实现。问题的焦点在于如何处理这个映射和处理流式访问。
老紫竹 2008-09-10
  • 打赏
  • 举报
回复
费力不讨好的功能,而且对性能影响很大。
你可以打包成war吧。这个可以封装里面的资源的。
laorer 2008-09-10
  • 打赏
  • 举报
回复
不清楚了,你可能考虑将他们打包成一个文件后再打包到你的jar文件中,直接下载那个zip包,
tontenType应该最好还是要加上吧,直接指定不更好吗?
曾经想过同时下载多个文件,但一直没解决
facedge 2008-09-10
  • 打赏
  • 举报
回复
ant没有这个功能的。ant只是打包,可以将资源文件打包成jar,并删除源文件,这是可以的。但是其他的内容ant是不可能去实现的。
tianqiao1689 2008-09-10
  • 打赏
  • 举报
回复
你可以试着用Ant
facedge 2008-09-10
  • 打赏
  • 举报
回复
ResourceBundle 好像只是处理文本形式的属性文件,不并能处理这个问题。现在我已经处理了单个文件,例如一个 root/test.doc,原来是在root下的,现在把它打包到jar里了,同时将root/test.doc删除了,写一个servlet,处理root/test.doc这个映射,从jar资源里加载文件流,返回给客户端。这个方法是完全经过测试的。现在就是需要处理一堆文件,而不是一个,所以不想一个一个地去写。
另外,会不会有文件类型的问题呢?例如html、css、cab、jpeg这样的文件,如果不加上ContentType,会不会引起客户端无法正确识别呢?
我已经考虑了两个方向去实现,一个是filter,一个是servlet。urlrewriter用的是filter来实现的。
nieliqiang84 2008-09-10
  • 打赏
  • 举报
回复
学习
laorer 2008-09-10
  • 打赏
  • 举报
回复
干脆自动生成,然后等下载后删掉看看,
你说那种方式不知道ResourceBundle可不可以,没试过

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧