官网

http://tuckey.org/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>

"http://tuckey.org/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 ),但是可以通过这样的规则去正常访问,反而部署在服务器上就正常显示。

测试结果

访问http://xxx.com/index.html 实际访问到的是index.jsp页面

参考案例

http://pihai.iteye.com/blog/384386

http://blog.sina.com.cn/s/blog_7a2356a60100x4fy.html

http://blog.sina.com.cn/s/blog_a72be0600101dwxl.html

页面伪静态化 java_UrlRewrite 伪静态化页面相关推荐

  1. PHP 页面静态化/纯静态化/伪静态化

    转载:https://www.cnblogs.com/caoruiy/p/4698938.html 概念 PHP静态化分为:纯静态化 和 伪静态化:纯静态化又分为:局部静态化 和 完全静态化 纯静态化 ...

  2. html静态化和动态页面,web动态页面静态化,伪静态

    动态页面静态化 首选,我们需要了解两个概念, 静态页面 和 动态页面 静态页面 最早的时候,网站内容是通过在主机空间中放置大量的静态网页实现的 静态网页最大的缺点就是每个人看到的一样的. 以静态网页为 ...

  3. PHP实现页面静态化、纯静态化及伪静态化

    概念 php静态化分为:纯静态化 和 伪静态化: 纯静态化又分为:局部静态化 和 完全静态化 纯静态化:是把PHP生成的动态页面保存成静态的html文件,用户访问该静态页面,而不是用户每一次访问都重新 ...

  4. php软件开发--sphinx索引静态化及伪静态

    sphinx索引: sphinx简介如果要加快查询只能使用第三方软件,sphinx和lucence.mysql5.6版本中的innodb1.2的版本也同样支持全文索引中文名:全文索引引擎.只支持英文和 ...

  5. 【Android 组件化】路由组件 ( 页面跳转参数依赖注入 )

    文章目录 一.参数自动注入 二.自定义注解 三.使用 @Extra 自定义注解 四.注解处理器解析 @Extra 自定义注解 并生成相应 Activity 对应代码 五.博客资源 组件化系列博客 : ...

  6. 一个页面是否应该全部组件化

    一个页面是否应该全部组件化 颗粒化,我们知道通常我们组件化的时候是因为某一块功能可以复用,然后我们把它封装为组件,而对于一个界面中大部分属于业务的代码我们通常不会将他进行组件化,这个时候如果一个页面功 ...

  7. MUI侧滑导航:页面组件(本地插件化)

    MUI侧滑导航:页面组件(本地插件化) 针对MUI框架须知: MUI框架内不支持<a>标签的点击跳转,所以需要修改部分代码,如下述代码中的代码块: // 实现MUI框架内的超链接点击跳转 ...

  8. PSD分层模板|解析垂直化内容电商页面设计

    从首页第一视觉停留开始 首屏是第一视觉第一块信息展示区域,适合设计成时尚和引领当下热点潮流或者产品摄影图等视觉冲击力较强的图片,和符合用户知觉的文案,吸引用户的注意力. 时尚美女夏季护肤产品促销电商页 ...

  9. WordPress页面和搜索页伪静态方法

    WordPress页面和搜索页设置伪静态的前提是服务器支持伪静态重写URL Rewrite功能.WordPress设置固定连接以后,文章页可以实现伪静态,页面依然不是html结尾的静态页面.下面介绍一 ...

最新文章

  1. MS UC 2013-0-虚拟机-标准化-部署-2-模板机-制作-4
  2. QT学习:网络应用开发练习(文件下载)
  3. c现代方法 13章程序设计题 自己编写答案
  4. tsp matlab,五个城市的TSP问题MATLAB程序.doc
  5. 听说,阿里“拆中台”了?
  6. nginx源码分析——filter模块
  7. 求职面试PPT模板推荐
  8. linux下U盘为只读文件系统的解决办法
  9. 看不见的大猩猩--读书笔记
  10. 基于Labview的瀑布图的生成
  11. C#实战009:Excel操作-删除指定的Excel工作表
  12. Fleck For Web Socket
  13. 【论文写作】汽车销售管理系统的设计与开发引言参考
  14. Windows10系统安装软件后软件界面异常(变得很小或很大),界面显示不完全的解决方案
  15. NGNIX在CENTEROS 下部署
  16. 经典问题 小白鼠试毒药 这个算法你绝对不知道
  17. Caused by: java.lang.IllegalArgumentException: Illegal base64 character 2d
  18. 一键解决Windows照片查看器故障
  19. 西南师范大学网络教育学院2002秋毕业论文选题表
  20. html 获取电脑ip地址,笔记本自动获取ip地址怎么设置?

热门文章

  1. python 模拟鼠标键盘_python之模拟鼠标键盘动作
  2. visual studio 2005没有chart空间_彭啸专访:2005年的国少跳级生 天赋+汗水造就成功...
  3. 小学 n 阶乘的后面包含多少零c语言,C语言---求n的阶乘后面有多少个连续的0
  4. c++ string 长度限制_String 有多长?
  5. django中的项目使用mysql中的配置新建用户授予权限
  6. Scrapy框架的学习(10.Scrapy中的模拟登陆(使用cookie模拟登陆))
  7. 《编译原理》第二章知识点
  8. wxWidgets:wxPGMultiButton类用法
  9. wxWidgets:Sizer 概览
  10. boost::hana::any用法的测试程序