600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 页面伪静态化 java_UrlRewrite 伪静态化页面

页面伪静态化 java_UrlRewrite 伪静态化页面

时间:2018-09-30 14:05:14

相关推荐

页面伪静态化 java_UrlRewrite 伪静态化页面

官网

/urlrewrite/#download

概念

UrlRewrite 地址重写,可以将非静态页面地址进行转换,伪装成html后缀的网页。

优点

提高安全性,可以有效的避免一些参数名、ID等完全暴露在用户面前,如果用户随便乱输的话,不符合规则的话直接会返回个404或错误页面,这比直接返回500或一大堆服务器错误信息要好的多;

美化URL,去除了那些比如*.do之类的后缀名、长长的参数串等,可以自己组织精简更能反映访问模块内容的URL;

更有利于搜索引擎的收入,通过对URL的一些优化,可以使搜索引擎更好的识别与收录网站的信息;

转换规则

rule说明

通过正则表达式对请求进行匹配

实际请求地址

^/m/category_([0-9]+)/content_([0-9]+).html$

/main.jsp?categoryid=$1&contentid=$2

outbound-rule说明

页面显示的链接规则表达式

转换为实际显示的地址

^/main.jsp\?categoryid=([0-9]+)&contentid=([0-9]+)$

/m/category_$1/content_$2.html

rule与outbound-rule需要匹配。

注意转义字符:

& 转义为 &

? 转义为 /?

示例代码

1.下载项目jar包并加载到项目工程中。

2.将urlrewrite.xml文件加载到WEB-INF目录下,并编写转换规则,编写规则使用正则表达式。

示例代码

/p>

"/res/dtds/urlrewrite3.1.dtd">

^/index.html$

/index.jsp

^/login.html$

/login2.jsp

^/query.html$

/queryResult.jsp

^/m/category_([0-9]+).html$

/main.jsp?categoryid=$1

^/m/category_([0-9]+)/content_([0-9]+).html$

/main.jsp?categoryid=$1&contentid=$2

^/v/category_([0-9]+)/content_([0-9]+).html$

/view.jsp?categoryid=$1&contentid=$2

^/f/category_([0-9]+)/pageNow_([0-9]+).html$

/frame.jsp?categoryid=$1&pageNow=$2

^/p/category_([0-9]+)/pageNow_([0-9]+).html$

/proframe.jsp?categoryid=$1&pageNow=$2

^/c/category_([0-9]+)/pageNow_([0-9]+).html$

/credentails.jsp?categoryid=$1&pageNow=$2

^/p/depart_([0-9]+).html$

/people.jsp?departid=$1

^/index.jsp

/index.html

^/login2.jsp

/login.html

^/queryResult.jsp

/query.html

^/main.jsp\?categoryid=([0-9]+)$

/m/category_$1.html

^/main.jsp\?categoryid=([0-9]+)&contentid=([0-9]+)$

/m/category_$1/content_$2.html

^/view.jsp\?categoryid=([0-9]+)&contentid=([0-9]+)$

/v/category_$1/content_$2.html

^/frame.jsp\?categoryid=([0-9]+)&pageNow=([0-9]+)$

/f/category_$1/pageNow_$2.html

^/proframe.jsp\?categoryid=([0-9]+)&pageNow=([0-9]+)$

/p/category_$1/pageNow_$2.html

^/credentails.jsp\?categoryid=([0-9]+)&pageNow=([0-9]+)$

/c/category_$1/pageNow_$2.html

^/people.jsp\?departid=([0-9]+)$

/p/depart_$1.html

3.在web.xml文件中进行声名。

UrlRewriteFilter

org.tuckey.web.filters.urlrewrite.UrlRewriteFilter

UrlRewriteFilter

/*

REQUEST

FORWARD

4.Jsp页面链接声名方式

">测试

说明:按照API的指引,java里面编写的链接应该使用转义字符 & 代替 & 才对,但是我使用了&反而不起作用,使用&才行,所以需要大家多测试一下,而且我在本机上部署访问,显示的链接规则是不生效的(即:无法显示 /m/category_1/content_2.html ),但是可以通过这样的规则去正常访问,反而部署在服务器上就正常显示。

测试结果

访问/index.html 实际访问到的是index.jsp页面

参考案例

/blog/384386

/s/blog_7a2356a60100x4fy.html

/s/blog_a72be0600101dwxl.html

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。