最近看到一些论坛 前台页面都是以html后缀结尾的,比如帖子列表、文章详细信息,一开始比较费解,想到如果实时生成HTML对服务器的CPU占用是非常巨大的 后来上网找了下思路 原来是用了伪静态
需要jar包:urlrewrite.jar
1.web-inf下新增xml- urlrewrite.xml
<?xml version="1.0" encoding="utf-8"?> <urlrewrite> <!-- 帖子列表 --> <rule> <from>^/forum-(\d+)-(\d+)\.html$</from> <to type="forward">/servlet/TopicListServelet?sid=$1&page=$2</to> </rule> <!-- 帖子列表加分页 <rule> <from>^/subcate_list_(\d+)\.html$</from> <to type="forward">/servlet/TopicListServelet?sid=$1</to> </rule> --> <!-- 帖子详细信息 --> <rule> <from>^/thread-(\d+)\.html$</from> <to type="forward">/servlet/TopicDetailServlet?tid=$1</to> </rule> </urlrewrite>
在rule节点中写规则 from代表客户端访问页面 to代表实际访问路径
编写规则:from中写正则 开头:^ 结尾$ (\d+)代表数字 (\w+)代表英文
to $1代表你写的第一个 (\d+)或 (\w+) $2代表第二个 其中多个传参&符号用&代替
2. web.xml中增加:
<!-- Set URL Rewrite--> <filter> <filter-name>UrlRewriteFilter</filter-name> <filter-class> org.tuckey.web.filters.urlrewrite.UrlRewriteFilter </filter-class> </filter> <filter-mapping> <filter-name>UrlRewriteFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
3.前台调用:forum-1-1.html
这样做的好处是隐藏了后台类 但并不代表安全 主要作用是优化SEO收录