1.1URLRewirte的用处
1.满足搜索引擎的要求。
2.隐藏技术实现,提高网站的移植性。
3.满足美感的要求(个人感觉这个用处太牵强)。
1.2项目部署
1.首先在http://tuckey.org/urlrewrite/下载urlrewirtefilter,现在有2.6.0和3.2.0两个版本,这里我选择的是前面一个稳定版本。
2.解压所下载的文件,把urlrewrite-2.6.0.jar复制到项目的WebRoot/WEB-INF/lib/目录下,然后编译。
3.把urlrewrite.xml复制到项目的WebRoot/WEB-INF/目录下
4.在web.xml文件中加入以下:
1 <!-- 动态地址静态化 -->
2 <filter>
3 <filter-name>UrlRewriteFilter</filter-name>
4 <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
5 <init-param>
6 <param-name>logLevel</param-name>
7 <param-value>WARN</param-value>
8 </init-param>
9 </filter>
10 <filter-mapping>
11 <filter-name>UrlRewriteFilter</filter-name>
12 <url-pattern>/*</url-pattern>
13 </filter-mapping>
|
5.需要配置urlrewrite.xml文件来实现url静态化,下面将详细说明
1.3 如何静态化
到这里相关的配置已经完成,下面看如何把动态地址静态化:
(1)普通url静态化
例如:要把http://localhost/prjtest/user/list.jsp转换成http://localhost/prjtest/user/list.html
这种是最简单的,当一个servlet跳转到list.jsp页面列出user列表时,在urlrewrite.xml中这样配置:
1 <rule>
2 <from>^/user/list.html</from>
3 <to>/user/list.jsp</to>
4 </rule>
|
当请求/user/list.html这个页面时,实际上相当于请求/user/list.jsp页面
在servlet的跳转要这样写:
response.sendRedirect("./user/list.html");
(2)带参数的url静态化
例如:要把http://localhost/prjtest/user/view.jsp?cid=1&cname=admin转换成
http://localhost/prjtest/user/view/1_admin.html
在urlrewrite.xml中这样配置:
1 <rule>
2 <from>^/user/view/([0-9]+)_([a-z]+).html$</from>
3 <to>/user/view.jsp?cid=$1&cname=$2</to>
4 </rule>
|
当请求/user/view/1_admin.html这个页面时,实际上相当于请求/user/list.jsp?cid=1&cname=admin页面,在servlet的跳转要这样写(cid,cname为变量):
response.sendRedirect("./user/view/"+ cid +"_"+ cname +".html");
注意:配置文件中用"&"来代替"&"。
一个通用的正则表达式:[a-zA-Z0-9]+
1.4 小结
使用URLRewirte可以方便的进行地址伪静态化,配置规则也相对比较方便。不过在项目设计的时候需要制定地址匹配规则,以使在开发的过程中直接利用该规则进行编码。如果是对已有的项目进行地址伪静态化比较麻烦,需要对所有的页面、跳转进行修改,工作量较大,同时也容易忽略一些URL。
一句话,其实它并没有达到静态化要求,只是相当于将地址进行了改写。
分享到:
相关推荐
Url Rewrite 实现jsp页面伪静态化_凌风_.doc
一个很简单的使用urlrewrite实现静态页面的实现,只要把该文件解压后直接导入到eclipse里就行了,或者直接把WEB下的文件拷到TOMCAT的ROOT下去,即可运行。
/jsp-rewrite/WebRoot/WEB-INF/urlrewrite.xml sql文件: DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(20) NOT NULL, `userpwd` varchar(20)...
urlrewrite 没听说吗? 用于url美化的 不过好像大多数会考虑伪静态~~~~~! 这个demo是eclipse工程 包括全部包 实现静态模拟及传参
# Destoon B2B Rewrite Rules ErrorDocument 404 /404.php RewriteEngine On RewriteBase / RewriteRule ^(.*)\.(asp|aspx|asa|asax|dll|jsp|cgi|fcgi|pl)(.*)$ /404.php RewriteRule ^(.*)/file/(.*)\.ph
JEECMS是国内Java版开源网站内容管理系统(java cms、jsp ...· 采用伪静态页面技术,可自定义路径结构,无需urlrewrite · 轻松建设大规模网站,可通过次级域名建立子站群,各子站后台管理权限分离,全站实现单点登录
· 在设计上自身预先做了搜索引擎优化,增强对搜索引擎的友好性 · 完全生成全站静态页面,可自定义路径结构,无需urlrewrite · 轻松建设大规模网站,可通过次级域名建立子站群,各子站后台管理权限分离,全站实现单...
本源码是JavaEE版网站管理系统。 · 基于java技术开发,...· 完全生成全站静态页面,可自定义路径结构,无需urlrewrite · 轻松建设大规模网站,可通过次级域名建立子站群,各子站后台管理权限分离,全站实现单点登录
JEECSM是JavaEE版网站管理系统(Java Enterprise Edition ...·采用伪静态页面技术,可自定义路径结构,无需urlrewrite ·轻松建设大规模网站,可通过次级域名建立子站群,各子站后台管理权限分离,全站实现单点登陆!
采用伪静态页面技术,可自定义路径结构,无需urlrewrite 轻松建设大规模网站,可通过次级域名建立子站群,各子站后台管理权限分离,全站实现单点登录 JEECMS v2.2 beta版对以下方面进行了更新: ·降低运行环境...
· 完全生成全站静态页面,可自定义路径结构,无需urlrewrite · 轻松建设大规模网站,可通过次级域名建立子站群,各子站后台管理权限分离,全站实现单点登录 jeecms页面展示: 相关阅读 同类推荐:CMS系统
本开发手册会详细阐述如何在JessMA中整合FreeMarker、Velocity、UrlRewrite、EHCache-Web、Spring、Hibernate和MyBaits等常用框架和组件。 4) 高性能:性能要求是JessMA的硬性指标,从每个模块的设计到每行代码的...
· 完全生成全站静态页面,可自定义路径结构,无需urlrewrite · 轻松建设大规模网站,可通过次级域名建立子站群,各子站后台管理权限分离,全站实现单点登录 jeecms页面展示 相关阅读 同类推荐: 站长常用源码
社区支持无限级分类,左侧工具栏静态化再多的版面也不会影响速度。 大量的使用高性能缓存使得软件在高并发下对数据库的压力降到最低!支持分布式Cache! 软件经过优秀的用户体验专家和交互设计师指点注重每一个细节...
URL重写技术:WSTMall V1.0继承了thinkphp的URL重写技术,支持普通模式、PATHINFO模式、REWRITE模式和兼容模式的URL方式,支持不同的服务器和运行模式的部署,配合URL路由功能,使搜索引擎更容易方便地收录网页。...
URL重写技术:WSTMall 继承了thinkphp的URL重写技术,支持普通模式、PATHINFO模式、REWRITE模式和兼容模式的URL方式,支持不同的服务器和运行模式的部署,配合URL路由功能,使搜索引擎更容易方便地收录网页。...
所欲的构建需要的URL地址和进行SEO优化工作。支持灵活的规则路由和正则路 由,以及路由重定向支持,带给开发人员更方便灵活的URL优化体验。 调试模式:框架提供的调试模式可以方便用于开发过程的不同阶段,包括开发...
如果你要开启网站URL静态化,这个得必须有主机空间商支持URL Rewrite功能才可以!详细操作方法,请到官方博客阅读文档! 网站前台:http://localhost 网站后台:http://localhost/admin.php,如果你在安装时没有...
如果你要开启网站URL静态化,这个得必须有主机空间商支持URL Rewrite功能才可以!详细操作方法,请到官方博客阅读文档! 网站前台:http://localhost 网站后台:http://localhost/admin.php ,如果你在安装时没有...