现在做一个SSH架构的网站例子,前台首页是最新的10条新闻,首页导航上的新闻栏目是所有的新闻信息,现在后台增加文章的时候怎么生成一个静态的HTML文件来存放,这样前台的访问新闻就不用每次去请求数据库了,,还有就是首页上面也静态化,求思路本来小菜,求指导。。有例子的话最好,,谢谢各位

解决方案 »

  1.   

    你的请求量如果不大的话,就不要自己去写静态化了,复杂度还是有点高的。直接前面部署Apache或者EngineX,做反向代理服务器,开启MemCache并加以配置,它就会帮你把这些页面直接缓存在内存中,不会再去请求后面的中间件。
    当然如果你非要写个静态化的话,一般比较简单的做法是写一个调度程序,两种做法:
    1、定期用HttpClient去服务器上请求相关页面,然后得到内容后,存储成HTML文件;
    2、根据某张任务表中的URL,去请求URL,然后得到内容后,存储成HTML文件;新闻更新时就往任务表中新增一条记录就行了。
      

  2.   

    新闻内容静态化应该不难, 网上好多这说明的, 都是创建一个模板文件, 然后用内容替换里面的符号,首页的话, 我也找了N多, 不知道弄啥好,所以我自己的也没有弄好
    我现在做的是, 用ACTION访问, 在JSP里面显示数据信息,
    然后去URL去读取输入流, 把那个JSP页面全部读出来生成一个HTML, 也就是首页,
      

  3.   

    文章页面不是请求地址后生成 HTML 的,而是在文章发布的时候就生成 HTML 的
      

  4.   


    这个是的, 都是发布的时候就生成了我上面有说到的是首页, 虽然我那样子做了, 
    但是, 还是每次在后台更新新闻的时候, 有个操作就是点更新首页, 
    我本来是想把它放在计时器里去, 每隔几分钟就自动去生成, 
    经理说, 那样太占用资源了, 
    所以也就每次想要更新首页的时候就更新,另外, 我的首页上面还有一块, 是显示完成之后, AJAX去调数据的
      

  5.   


    楼主看起来还比较新手,就不要自行开发静态化了。我所在公司,有专门的3、4个人负责开发这部分内容呢。还是先用现成的反向代理来实现缓存加速吧。参考下这里,并不复杂的:
    http://hi.baidu.com/binarie/blog/item/b270202c2110e2ef8b139912.html
    另外我推荐本书:《构造高性能Web站点》,电子工业出版社,郭欣
      

  6.   

    你google一下velocity 和Freeer 。都很容易上手。