- 浏览: 890638 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (687)
- java (127)
- servlet (38)
- struts (16)
- spring (22)
- hibernate (40)
- javascript (58)
- jquery (18)
- tomcat (51)
- 设计模式 (6)
- EJB (13)
- jsp (3)
- oracle (29)
- RUP (2)
- ajax (3)
- java内存管理 (4)
- java线程 (12)
- socket (13)
- path (5)
- XML (10)
- swing (2)
- UML (1)
- JBPM (2)
- 开发笔记 (45)
- Note参考 (15)
- JAXB (4)
- Quartz (2)
- 乱码 (2)
- CSS (2)
- Exception (4)
- Tools (7)
- sqlserver (3)
- DWR (7)
- Struts2 (47)
- WebService (2)
- 问题解决收藏 (7)
- JBOSS (7)
- cache (10)
- easyUI (19)
- jQuery Plugin (11)
- FreeMarker (6)
- Eclipse (2)
- Compass (2)
- JPA (1)
- WebLogic (1)
- powerdesigner (1)
- mybatis (1)
最新评论
-
bugyun:
受教了,谢谢
java 正则表达式 过滤html标签 -
xiongxingxing_123:
学习了,感谢了
java 正则表达式 过滤html标签 -
wanmeinange:
那如果无状态的。对同一个任务并发控制怎么做?比如继承Quart ...
quartz中参数misfireThreshold的详解 -
fanjieshanghai:
...
XPath 元素及属性查找 -
tianhandigeng:
还是没明白
quartz中参数misfireThreshold的详解
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://aumy2008.blogbus.com/logs/42495983.html
UrlRewriteFilter是一个用于改写URL的Web过滤器,类似于Apache的mod_rewrite。适用于任何Web应用服务器(如Resin,Orion,Tomcat等)。其典型应用就把动态URL静态化,便于搜索引擎爬虫抓取你的动态网页。
这样做就避免了url中出现?&之类的符号,而且页面伪静态化之后也增加了被搜索引擎找到的概率。
该项目主页:http://tuckey.org/urlrewrite/
使用方法:
1、下载http://tuckey.org/urlrewrite/#download,解压缩后将WEB-INF下的文件考到相应的web-inf/lib和web-inf下。
2、配置web.xml
<filter>
<filter-name>UrlRewriteFilter</filter-name>
<filter-class>
org.tuckey.web.filters.urlrewrite.UrlRewriteFilter
</filter-class>
<init-param>
<param-name>logLevel</param-name>
<param-value>WARN</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>UrlRewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
根据自己的需要,将相应目录下的url转给UrlRewriteFilter来处理。
3、配置urlwrite规则文件WEB-INF/urlrewrite.xml
详见:http://urlrewritefilter.googlecode.com/svn/trunk/src/doc/manual/3.2/index.html
4、在Struts2中集成
在web.xml里把FilterDispatcher加两个参数(REQUEST、FORWARD)
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
5、配置过滤器
一定要禁忌,过滤器的配置顺序也很重要!!!
当把UrlRewriteFilter放到字符转码过滤器前面以后就相当于字符转码过滤器无效
备注:按照Struts2的API,filter的顺序是
struts-cleanup filter
SiteMesh filter
FilterDispatcher
6、示例
第一个常用个规则就是站内的简单重写。
<rule>
<from></from>
<to type="forward></to>
</rule>
<from></from>写上你自己定义的访问地址,<to type="forward></to>就是实际的访问地址。比如我们实际的访问地址是:http://yousite.com/entity.htm ?category=user&page=2.而我们想把它重写为http://yousite.com/entity/uesr/page_2.html。这样看起来比我们实际的要好看的多。我们就应该这样的写:
<rule>
<from>^/(\w+)/(\w+)/page_(\d+)\.html$</from>
<to type="forward">/$1.htm?category=$2&page=$3</to>
</rule>
简单的介绍一下常用的正规表示式:
代码 说明
. 匹配除换行符以外的任意字符
\w 匹配字母或数字或下划线或汉字
\s 匹配任意的空白符
\d 匹配数字
\b 匹配单词的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束
常用的&要用 &来表示。$1,$2代表与你配置正规表达式>/(\w+)/(\w+)/相对应的参数。<to type="forward">默认的是 type="forward".
另一个常用的规则就是连接外部的网站。就要用到。<to type="redirect">
<rule>
<from>^/rss/yahoo\.html$</from>
<to type="redirect"> http://add.my.yahoo.com/rss? url=http://feed.feedsky.com/MySiteFeed
</to>
</rule>
示例二
<rule>
<note>无参数匹配</note>
<from>^/([_a-zA-Z]+[_0-9a-zA-Z-/]*[_0-9a-zA-Z]+)$</from>
<to type="forward">/$1.jsp</to>
</rule>
<rule>
<note>将所有.jsp文件映射为.html</note>
<from>^/([_a-zA-Z]+[_0-9a-zA-Z-/]*[_0-9a-zA-Z]+).html$</from>
<to type="forward">/$1.jsp</to>
</rule>
供学习参考的帖子:
发表评论
-
Java框架数据库连接池比较(c3p0,dbcp和proxool)
2011-04-08 22:34 707现在常用的开源数据连 ... -
Java Proxool 源代码分析
2011-04-03 00:31 1091入口点:ProxoolFacade. 启动顺序: ... -
一个相当好的自定义标签---分页(二)
2011-04-02 22:23 937在上一个介绍里面主要讲到了分页标签的配置,逻辑处理,引用。 ... -
一个相当好的自定义标签---分页(一)
2011-04-02 22:21 1448发现在系统中有好多写得很好的代码,也不知道是哪位前辈留下来的. ... -
恢复被CVS被Override and Update后的代码
2011-04-02 20:45 2027今天做了件相当愚蠢的事,把一个新的功能(之前未提交过代码)写完 ... -
MD5加密
2011-03-07 09:03 864因为用到所以就写了个加密的方法 如您发现有任何错误请Mailt ... -
抓取谷歌网页问题
2011-03-02 11:52 885当使用 URL url = new URL("htt ... -
readme
2011-03-01 15:57 8122011-3-1 /** * 循环创建父目录 * @ ... -
proxool配置文档(一)
2011-02-21 22:16 1110一、 所需要包 conmmons-loggin ... -
proxool配置文档(一)
2011-02-21 22:10 956一、 所需要包 conmmons-loggin ... -
总结一些常用功能源码
2011-02-18 09:32 911最近比较闲,总结一些开发中常用到的功能源码,把它挂出来;这样一 ... -
jboss + JMS 开发实例
2011-02-14 17:07 1801核心提示:异步进程通信是面向服务架构(SOA)一个重要的组 ... -
成为软件架构师
2011-02-01 21:48 918现在软件架构师满天飞 ... -
log4j中配置日志文件相对路径
2011-01-28 16:52 1160方法一、 解决的办法自然是用相对路径代替绝对路径,其实log4 ... -
HttpClient|HttpClient请求详解
2011-01-28 12:50 1142HttpClient 是 Apache Jakarta Com ... -
Log4J通用配置|注意问题 笔记
2011-01-28 12:46 1127关于日志的等级 那些去 百度就知道了! 这几天 要搭个新框架 ... -
JAVA WEB学习笔记(一)-Cookie和Session专题
2011-01-27 12:46 1085一、cookie机制和session机制的区别******** ... -
深入 理解 Statement 和 PreparedStatement
2011-01-26 22:05 1065一、使用Statement而不是PreparedState ... -
培析J2EE分层结构
2011-01-20 22:56 935http://hi.baidu.com/gabe2008/bl ... -
j2EE 分层模式中的异常架构设计
2011-01-20 22:45 1576Java引入了异常处理给 ...
相关推荐
这是urlrewritefilter-4.0.3.jar下载,通过java的Filter过滤器对URL进行重写,用户得到的全部都是经过处理后的URL静态地址,本质上通过伪地址进行页面跳转。 软件介绍 urlrewritefilter-4.0.3.jar是有时候项目中的...
URLRewriteFilter是一款广泛应用于Java Web开发中的开源过滤器,其主要功能是对HTTP请求的URL进行重写,从而实现URL的美化、动态URL的静态化等多种目的。在这个4.0.3版本中,我们看到了这个强大工具的最新迭代,它在...
网站伪静态301重定向是网页优化与搜索引擎友好性的重要技术之一,它可以使动态URL看起来像静态页面,便于用户理解和搜索引擎抓取。`UrlRewriteFilter` 是一个基于Java的URL重写工具,适用于Tomcat等Servlet容器,...
- **SEO优化**:通过将动态生成的URL转换为静态化,利于搜索引擎爬虫抓取,提高搜索排名。 - **前后端分离**:在单页应用中,后端API与前端路由的解耦,实现RESTful API。 - **安全防护**:隐藏敏感信息,防止...
1. **URL美化**:通过隐藏Servlet路径,将动态URL转换为静态或伪静态形式,提高用户体验,同时也有利于搜索引擎的收录。 2. **会话管理**:可以将Session ID附加到URL中,实现无Cookie的会话跟踪。 3. **重定向...
- **伪静态化**:动态页面通过URL重写可变为静态化,如`/product.php?id=1`可转换为`/product/1.html`,对搜索引擎友好。 - **隐藏参数**:某些敏感信息如用户ID、订单号等,可以通过重写隐藏在URL中,提升安全性...
URLRewriteFilter是一款非常流行的开源HTTP重写过滤器,广泛应用于Java Web开发中,它主要用于处理和重写URL,帮助开发者实现动态到静态URL的转换、URL参数的隐藏、会话ID管理等多种功能。在2.6.0版本中,这个工具...
它将动态网页的URL转化为看似静态的URL,使得用户和搜索引擎更容易理解和处理。在这个实例中,我们将深入探讨如何利用`URL Rewrite`工具,特别是`UrlRewriteFilter 4.0.3`版本,来实现网站的伪静态功能。 `...
通过使用UrlRewriteFilter,开发者可以在Struts和JSP应用中实现URL的伪静态化,即让动态页面的URL看起来像静态页面的URL,这对于SEO尤其有利,因为搜索引擎更容易抓取和理解静态化的URL。 标签"struts伪静态"意味着...
- **URL美化**:隐藏动态参数,生成静态化的URL。 - **SEO优化**:创建对搜索引擎友好的URL。 - **URL编码与解码**:处理URL中的特殊字符。 - **条件判断**:根据请求参数、请求方法等进行条件匹配。 - **自定义响应...
1. **SEO优化**:隐藏实际的动态参数,生成更友好的静态化URL,提升搜索引擎的友好性。 2. **路径重定向**:根据不同的条件将请求重定向到其他URL,如旧版页面向新版页面的迁移。 3. **会话管理**:通过URL附加...
把url改成静态,使搜索引擎更容易找到。
1. **URL重写**:URLRewriteFilter的核心就是URL重写,它可以将动态URL转换为静态化的形式,如将`/product?id=123`转换为`/product/123.html`,使得URL更具可读性。 2. **路径参数处理**:支持从URL中提取参数,并...
例如,将动态参数化的URL(如`/product.php?id=123`)转换为更静态、更具描述性的URL(如`/product/shoes`)。这不仅使URL更易于记忆,也提高了搜索引擎对网页的理解。 URLRewriteFilter是基于Apache的开源项目...
urlRewriteFilter是一个用于改写URL的Web过滤器,类似于Apache的mod_rewrite。适用于任何Web应用服务器(如Tomcat,jboss,jetty,Resin,Orion等)。其典型应用就把动态URL静态化,便于搜索引擎爬虫抓取你的动态网页。
在Web开发中,为了提高用户体验和搜索引擎优化(SEO),我们常常需要将动态URL转化为看似静态的格式,这就是所谓的“伪静态”。URLRewriteFilter是一个非常实用的开源工具,它基于Apache的Tuckey项目,专门用于处理...