appfuse中的UrlRewrite
(转自:http://www.blogjava.net/liuwentao253/archive/2006/08/31/66855.html)appfuse中使用了UrlRewrite.实现了url的重写,这样有什么用处呢?上网搜了一把,大体上有以下好处:
1、满足搜索引擎的要求
某些搜索引擎不能支持动态页面的抓取,大量的信息就不能被潜在用户搜索到。用UrlRewrite技术你可以把 http://server/news.asp?id=111 变成 http://server/news/111.htm 这样他们就会被搜索引擎收录了。google虽然可以抓取动态页面,但是google对动态页面的评分一般低于静态页面。所以,对大量信息发布的网站,把网站地址改变成静态的绝对是值得的。
2、隐藏技术实现,提高网站的移植性
每个页面都挂着鲜明的.asp/.jsp这种开发语言的标记,可以一眼让人看出你的网站使用什么语言做的。而且在改变网站的语言的时候,你需要改动大量的链接。而且,一个页面修改了扩展名,他的pagerank也会随之消失,从头开始。我们可以用UrlRewrite技术隐藏我们的实现细节,这样修改移植都很方便,而且完全不损失pagerank。
3、满足美感的要求
对于追求完美主义的网站设计师,即使是网页的地址也要看起来简洁明快。形如 http://server/news.asp?channel=3&id=111 的网页地址,肯定是上不了完美主义者的法眼的,用UrlRewrite技术,你可以把他变成 http://server/news/3/111.htm 。
在应用中怎样集成它呢?看看appfuse中的实现方式。
在appfuse的web.xml声明文件中有下面的类似声明:
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee;">http://www.agoit.com/Images/OutliningIndicators/None.gif<filter>
http://www.agoit.com/Images/OutliningIndicators/None.gif <filter-name>rewriteFilter</filter-name>
http://www.agoit.com/Images/OutliningIndicators/None.gif <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
http://www.agoit.com/Images/OutliningIndicators/None.gif <init-param>
http://www.agoit.com/Images/OutliningIndicators/None.gif <param-name>logLevel</param-name>
http://www.agoit.com/Images/OutliningIndicators/None.gif <param-value>commons</param-value>
http://www.agoit.com/Images/OutliningIndicators/None.gif </init-param>
http://www.agoit.com/Images/OutliningIndicators/None.gif</filter>
页:
[1]