论坛首页 Java企业应用论坛

关于资讯网站页面静态化方案

浏览 21547 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-09-15  
最近要开发咨讯类网站,想做部分静态化处理,比如客户的详细信息内容,用FreeMarker生成静态页响应。
应用的WEB Server是Apache,Application Server是Tomcat。
静态页用了FreeMarker生成。

业务逻辑如下,客户发布信息,经过审核入库,并通过FreeMarker生成静态页,把生成的页面地址存入库。
前台访问的时候直接读静态地址响应客户。

现在有一个问题,比如那个静态页被别人删除了,再次访问的时候会出现404页面不存在错误,
有没有方法判断页面存在否?

加个过滤器行吗,/*那种,访问html前先判断是否页面存在??

谢谢大家了。
   发表时间:2008-09-15  
你是用freemarker生成static html存入库?数据库?
干嘛不直接写到磁盘上.
0 请登录后投票
   发表时间:2008-09-15  
加个过滤器行吗,/*那种,访问html前先判断是否页面存在??

-----

判断页面的存在是肯定可以的。用js或者java肯定是可以的。
1.你请求一个页面会返回一个http的状态的--404就是代表找不到了,如果你要干什么的话就写在后面了,功能是能实现。关键是这样做的话很麻烦的。
2.你的 WEB Server上的请求是会转到Application Server上的,应该这样也是可以做的。(如果是虚拟路径我就不敢肯定)
3.当然还有一种思路就是url重写。
0 请登录后投票
   发表时间:2008-09-15  
可以在tomcat的web。xml中配置404错误指到固定的错误提示页面

如果加过滤器判断用java是可以的,不过毕竟删除的几率很小,这样每次都判断得不偿失。
0 请登录后投票
   发表时间:2008-09-15  
用filter就没劲了,静态变成动态了。在IIS或apache中设置404的处理页面就可以了,直接用webserver访问静态页面,否则就失去了静态化的意义。
0 请登录后投票
   发表时间:2008-09-15  
用URL Rewrite方便些
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-s
RewriteRule list_(\d+)_(\d+).html$ /app_news/news_list.action?category=$1&page=$2
现在访问
http://www.abc.com/news/list_1_3.html
如果存在list_1_3.html文件,那么就直接返回结果。如果不存在,就会访问/app_news/news_list.action?category=1&page=3
更多的去查查文档
0 请登录后投票
   发表时间:2008-09-16  
cats_tiger 写道
用filter就没劲了,静态变成动态了。在IIS或apache中设置404的处理页面就可以了,直接用webserver访问静态页面,否则就失去了静态化的意义。



经过FILTER后还是请求的一个静态页面。
并不会有多大影响。
0 请登录后投票
   发表时间:2008-09-16  
galaxystar 写道
你是用freemarker生成static html存入库?数据库?
干嘛不直接写到磁盘上.

就是直接写入磁盘上,把生成的页面地址写入库
0 请登录后投票
   发表时间:2008-09-16  
fyting 写道
用URL Rewrite方便些
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-s
RewriteRule list_(\d+)_(\d+).html$ /app_news/news_list.action?category=$1&page=$2
现在访问
http://www.abc.com/news/list_1_3.html
如果存在list_1_3.html文件,那么就直接返回结果。如果不存在,就会访问/app_news/news_list.action?category=1&page=3
更多的去查查文档



如果我有很多静态的页面,我是不是得配置很多个URL Rewriter呀??谢谢了
1 请登录后投票
   发表时间:2008-09-16  
vvgg 写道
可以在tomcat的web。xml中配置404错误指到固定的错误提示页面

如果加过滤器判断用java是可以的,不过毕竟删除的几率很小,这样每次都判断得不偿失。

支持,让404指到固定错误提示页面就行了,在xml里配置也行,在查找数据库的时候如果查不到就转到某个提示页面也行,如果不需要特殊处理的话,直接在web.xml里配置就行了
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics