项目中用到urlrewrite来伪静态化url地址,故对urlrewrite进行了简单的研究应用。在此把基本配置和常见的问题记录下来,以备后用。
urlrewritefilter简介
:是一个用于改写url的web过滤器,类似于Apache的mod_rewrite,适用于任何web服务器(tomcat,jboss,jetty等),他是一个把url进行伪静态化的开源工具包,并不是真正的静态化。典型的应用就是把weburl静态化,以便于搜索引擎爬虫抓取你的页面。
引入urlrewrite的目的:
1):为了对搜索友好,因为搜索进行对动态url抓取没有对静态url高。
2):屏蔽内部url结构,使应用相对安全,提高网站的可移植性。
3):在一定成度上也对url地址有美化和从简的作用。
简单示例
:
http://www.xxx.net/user/profile.do?id=20001====>http://www.xxx.net/user/20001
http://www.xxx.net/forum/board.do?name=jav ====>http://www.xxx.net/forum/java
http://www.xxx.net/forum/thread.do?id=29923 ====>http://www.xxx.net/thread/29923
urlrewritefilter基本配置步骤
:
1):下载urlrewrite包,并把他考到项目的WEB-INF/lib目录下。
注:如果项目中使用了maven,并搭建了nexus数据仓库,则可以直接通过nexus进行搜索,并选择你需要的版本,把xml配置复制到你工程的pom.xml中即可。
2):在WEB-INF目录下添加rewrite.xml文件。rewrite.xml的dtd头比较重要,如果dtd头中的版本号与实际urlrewrite包版本不匹配的话会报如下错误:
org.tuckey.web.filters.urlrewrite.Conf ERROR:
Exception loading conf Connection timed out:connect java.net.ConnectException:
Connection timed out: connect
3):在web.xml文件中添加urlrewritefilter过滤器:
<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>
4):在rewrite.xml文件中配置你自己的url转换规则,简单示例如下:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 3.2//EN" "http://tuckey.org/res/dtds/urlrewrite3.2.dtd">
<urlrewrite>
<rule>
<name>World Rule1</name>
<note>注释1</note>
<from>^/newbie</from>
<to type="forward">/newbie.jsp</to>
</rule>
<rule>
<name>World Rule2</name>
<note>注释2</note>
<from>^/self-service</from>
<to type="forward">/self-service.jsp</to>
</rule>
</urlrewrite>
配置urlrewirte注意事项:
1):urlrewirte.xml文件的编码格式为utf-8,如果<note>节点中有中文,那么中文编码也必须是utf-8编码的。
2):配置web.xml的时候,urlrewritefilter过滤器必须配置在struts2的拦截器之前,否则urlrewritefilter过滤器有可能对某些url不起作用。
3):strtus2的filter-mapping一定要添加:<dispatcher>FORWARD</dispatcher>
4):在写rule的时,如果有多个参数时,中间的连接符号&应该是&
5):urlrewrite.xml标签的一些说明:
urlrewrite属性:有仅只有一个.
rule属性::至少一个
urlrewrite可能引起的错误:
1):connect java.net.ConnectException异常
org.tuckey.web.filters.urlrewrite.Conf ERROR:
Exception loading conf Connection timed out:connect java.net.ConnectException:
Connection timed out: connect
1-R:rewrite.xml配置文件的dtd头有问题,打开urlrewrite包,查看相应的dtd版本信息。
2):404错误:
2-R:strtus2的filter-mapping一定要添加:<dispatcher>FORWARD</dispatcher>,或者在urlrewritefilter过滤器的filter-mapping中添加相应属性,如下:
<filter>
<filter-name>urlRewrite</filter-name>
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>urlRewrite</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>INCLUDE</dispatcher>
</filter-mapping>
本文参考了网上很多朋友的相关文章,并结合自身的特点进行了简单的汇总,在此谢谢这些朋友的文章。
下面博客对urlrewrite进行了详细研究:
http://blog.csdn.net/lgg201/archive/2010/02/26/5329364.aspx
分享到:
相关推荐
提供的"JSP使用URLRewirte实现url地址伪静态化.txt"文件可能包含了具体的配置示例和说明,而"testurl说明.txt"可能详细解释了如何测试和验证URL重写的效果。"testurl.war"是一个完整的Web应用,部署后可以实际运行...
3. **安装与配置** - 首先,你需要从官方网站或者Maven仓库下载`urlrewritefilter-x.x.x.jar`文件,并将其放入项目的`WEB-INF/lib`目录下。 - 接着,在`WEB-INF`目录下创建`urlrewrite.xml`配置文件,编写URL重写...
1. **安装与配置URLRewriteFilter** 首先,需要下载Tuckey的URLRewriteFilter库,将其添加到项目的类路径中。在`web.xml`配置文件中,我们需要注册这个过滤器,如下所示: ```xml <filter-name>...
`urlrewrite.xml.bak`可能是这个配置文件的一个备份,以防在修改时出现问题可以快速恢复。而`【转】JSP使用URLRewirte实现url地址伪静态化 - major361 - JavaEye技术网站.htm`可能是一个教程或者文章,详细讲解了...
内容来源于网络分享,如有侵权请联系我删除。另外如果没有积分的同学需要下载,请私信我。
深圳建设施工项目安全生产奖惩管理制度
离散数学课后题答案+sdut往年试卷+复习提纲资料
04741计算机网络原理 2018(尚德).pdf 13年试题(2套).pdf 2015年10月自考计算机网络原理04741试题及答案解析.docx 2021年4月自考04741计算机网络原理真题及答案.docx 2021年4月自考04741计算机网络原理试卷.bak.docx 计算机网络原理 课后题答案 全 李全龙版 自考04741.zip.zip 计算机网络原理课件 计算机网络原理课件.rar
C++实现rpc,全程手写
前端拿到的列表数据里id都一样的处理办法.txt
最新仿720云全景制作源码|krpano仿720云全景网站源码(新增微信支付+打赏+场景红包等)是一款基于php+mysql开发制作的全景在线制作网站源码,包含全景图片,全景视频等。数据存储全部存于OSS云端或本地,源码完全开源可自行二次开发。 环境要求:PHP5.5.X+MYSQL5.6.X+伪静态 熟悉linux系统推荐使用LAMP,web服务器最好使用apache,不要使用nginx(发布大全景图需要时间可能需要20多分钟, nginx超时机制不好控制)。 Windows系统推荐使用phpstudy。Liunx推荐宝塔控制面板apache 前端为HTML5开发,自适应手机版! 1、支持VR虚拟现实、全景视频、环物全景、说一说、点赞评论、重力感应、智能视频嵌入、场景切换热点、加载进度条、 地图导航、光晕flash特效、物体全景嵌入、场景自播、场景解说、雷达导航等业内前沿功能。 2、支持windows、Linux、Mac、安卓、IOS等几乎所有的系统观看。支持CDN图片转存,极大的减轻的服务器流量费用。 3、支持用户权限分配。方便会员制收费。
YOLO系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中,文件名末尾是部分类别名称; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值; 【注】可以下拉页面,在资源详情处查看标签具体内容;
环境监测系统源代码全套技术资料.zip
Matlab领域上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作
四轮转向系统横摆角速度控制simulink仿真模型,利用滑模控制算法,基于八自由度车辆模型,控制有比较好的效果,附参考说明。
YOLO系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中,文件名末尾是部分类别名称; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值; 【注】可以下拉页面,在资源详情处查看标签具体内容;
02142数据结构导论历年真题及答案(2012-2018共13套).rar 02331数据结构历年真题共267页2009.10-2019.4.rar 24数据结构201704_8.pdf 25数据结构201710_10.pdf 26数据结构201804_11.pdf 27数据结构201810_9.pdf 全国2021年04月高等教育自学考试02331数据结构试题及答案.docx 全国2022年04月高等教育自学考试02331数据结构试题及答案.docx 数据结构-课件.rar 第l六讲.ppt 第一讲.ppt 第七讲.ppt 第三讲.ppt 第九讲.ppt 第二讲.ppt 第五讲.ppt 第八讲.ppt 第四讲.ppt
验收确认单表格.docx
内存搜索工具(易).rar
饮食管理系统项目源代码全套技术资料.zip