使用Servlet读取共享存储中的静态页面的可行性

黄金乞丐 发布于 2010/12/27 22:29
阅读 370
收藏 2

大家好,最近我所在的项目需要改进,硬件的较为复杂,可以用BT来形容它,在国内估计也没有几家这么搞的。

先说说硬件环境,再说我要做的事情。

硬件环境我只说面向互联网服务的部分,是有一台F5进行请求的分发(F5是个设备,我也没见过,听公司的实施人员讲的)

两台服务器组成了Weblogic集群,直接向访问者提供服务。两台服务器上都映射了一个共享存储,都叫E盘

目前程序中已实现了目录访问的动态配置,即E盘内的文件两个节点服务器都是可以直接访问的。

最近需要做种类似CMS的系统管理模块,那么发布新闻后,我认为不能将HTML页面生成到应用的目录下,因为我想不到好的办法进行文件的同步,在A节点上生成了,B节点上没有新生成的文件,那么被F5分发到B节点上的用户就看不到我刚发布的新闻。

我考虑的是将静态页面生成到E:\HTML\目录下,在web.xml文件中配置拦截器,将针对*.html结尾的静态文件进行一下处理,凡是html请求,都由一个取名叫HtmlServlet的东东来进行处理,获取html的名称,去E:\HTML\目录下找到该文件,使用IO流进行内容读取,将读取后的内容返回到浏览器端。

我想问问这种方式是否可行,如果可行,我应该用哪个IO流来进行开发,编码方面的注意事项有哪些?

欢迎发表自己的看法。

加载中
0
红薯
红薯

当然可行啊,没什么需要注意的,用 commons-io 包可以一两行代码直接搞定。

如果在 Linux/Unix 就方便了,直接将共享存储映射到web应用的某个mount point上,直接输出,省得经过servlet中转。

0
于忠达
于忠达

经过Servlet中转和不经过servlet中转,性能上会有什么差别呢?文件存储的地方到还是其次的

0
红薯
红薯

引用来自#3楼“Cody_Yu”的帖子

经过Servlet中转和不经过servlet中转,性能上会有什么差别呢?文件存储的地方到还是其次的

差别就是:脱裤子放屁,多此一举,没必要的开销就尽量避免。

0
黄金乞丐
黄金乞丐

看来经验很重要。呵呵。感谢两位的回复。之前没有没用过common-io包,需要继续了解此包的作用。

指明了道路,我就要前进了。

0
zhuzhangsuo
zhuzhangsuo

既然静态页面已经生成好了,直接用apache或 ngnix提供前台服务不更好吗,更简单

返回顶部
顶部