锁定老帖子 主题:关于资讯网站页面静态化方案
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-09-15
应用的WEB Server是Apache,Application Server是Tomcat。 静态页用了FreeMarker生成。 业务逻辑如下,客户发布信息,经过审核入库,并通过FreeMarker生成静态页,把生成的页面地址存入库。 前台访问的时候直接读静态地址响应客户。 现在有一个问题,比如那个静态页被别人删除了,再次访问的时候会出现404页面不存在错误, 有没有方法判断页面存在否? 加个过滤器行吗,/*那种,访问html前先判断是否页面存在?? 谢谢大家了。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-09-15
你是用freemarker生成static html存入库?数据库?
干嘛不直接写到磁盘上. |
|
返回顶楼 | |
发表时间:2008-09-15
加个过滤器行吗,/*那种,访问html前先判断是否页面存在??
----- 判断页面的存在是肯定可以的。用js或者java肯定是可以的。 1.你请求一个页面会返回一个http的状态的--404就是代表找不到了,如果你要干什么的话就写在后面了,功能是能实现。关键是这样做的话很麻烦的。 2.你的 WEB Server上的请求是会转到Application Server上的,应该这样也是可以做的。(如果是虚拟路径我就不敢肯定) 3.当然还有一种思路就是url重写。 |
|
返回顶楼 | |
发表时间:2008-09-15
可以在tomcat的web。xml中配置404错误指到固定的错误提示页面
如果加过滤器判断用java是可以的,不过毕竟删除的几率很小,这样每次都判断得不偿失。 |
|
返回顶楼 | |
发表时间:2008-09-15
用filter就没劲了,静态变成动态了。在IIS或apache中设置404的处理页面就可以了,直接用webserver访问静态页面,否则就失去了静态化的意义。
|
|
返回顶楼 | |
发表时间: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 更多的去查查文档 |
|
返回顶楼 | |
发表时间:2008-09-16
cats_tiger 写道 用filter就没劲了,静态变成动态了。在IIS或apache中设置404的处理页面就可以了,直接用webserver访问静态页面,否则就失去了静态化的意义。
经过FILTER后还是请求的一个静态页面。 并不会有多大影响。 |
|
返回顶楼 | |
发表时间:2008-09-16
galaxystar 写道 你是用freemarker生成static html存入库?数据库?
干嘛不直接写到磁盘上. 就是直接写入磁盘上,把生成的页面地址写入库 |
|
返回顶楼 | |
发表时间: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呀??谢谢了 |
|
返回顶楼 | |
发表时间:2008-09-16
vvgg 写道 可以在tomcat的web。xml中配置404错误指到固定的错误提示页面
如果加过滤器判断用java是可以的,不过毕竟删除的几率很小,这样每次都判断得不偿失。 支持,让404指到固定错误提示页面就行了,在xml里配置也行,在查找数据库的时候如果查不到就转到某个提示页面也行,如果不需要特殊处理的话,直接在web.xml里配置就行了 |
|
返回顶楼 | |