开发者社区> 问答> 正文

使用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流来进行开发,编码方面的注意事项有哪些?

欢迎发表自己的看法。

展开
收起
kun坤 2020-06-07 16:19:21 492 0
1 条回答
写回答
取消 提交回答
  • 当然可行啊,没什么需要注意的,用 commons-io 包可以一两行代码直接搞定。

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

    ######

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

    ######

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

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

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

    ######

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

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

    ######

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

    2020-06-07 16:19:26
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Web服务架构变化及性能优化 立即下载
从百度文件系统看大型分布式系统设计 立即下载
高性能Web架构之缓存体系 立即下载