使用Servlet读取共享存储中的静态页面的可行性
大家好,最近我所在的项目需要改进,硬件的较为复杂,可以用BT来形容它,在国内估计也没有几家这么搞的。
先说说硬件环境,再说我要做的事情。
硬件环境我只说面向互联网服务的部分,是有一台F5进行请求的分发(F5是个设备,我也没见过,听公司的实施人员讲的)
两台服务器组成了Weblogic集群,直接向访问者提供服务。两台服务器上都映射了一个共享存储,都叫E盘
目前程序中已实现了目录访问的动态配置,即E盘内的文件两个节点服务器都是可以直接访问的。
最近需要做种类似CMS的系统管理模块,那么发布新闻后,我认为不能将HTML页面生成到应用的目录下,因为我想不到好的办法进行文件的同步,在A节点上生成了,B节点上没有新生成的文件,那么被F5分发到B节点上的用户就看不到我刚发布的新闻。
我考虑的是将静态页面生成到E:HTML目录下,在web.xml文件中配置拦截器,将针对*.html结尾的静态文件进行一下处理,凡是html请求,都由一个取名叫HtmlServlet的东东来进行处理,获取html的名称,去E:HTML目录下找到该文件,使用IO流进行内容读取,将读取后的内容返回到浏览器端。
我想问问这种方式是否可行,如果可行,我应该用哪个IO流来进行开发,编码方面的注意事项有哪些?
欢迎发表自己的看法。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
既然静态页面已经生成好了,直接用apache或 ngnix提供前台服务不更好吗,更简单
看来经验很重要。呵呵。感谢两位的回复。之前没有没用过common-io包,需要继续了解此包的作用。
指明了道路,我就要前进了。
经过Servlet中转和不经过servlet中转,性能上会有什么差别呢?文件存储的地方到还是其次的
当然可行啊,没什么需要注意的,用 commons-io 包可以一两行代码直接搞定。
如果在 Linux/Unix 就方便了,直接将共享存储映射到web应用的某个mount point上,直接输出,省得经过servlet中转。