其他分享
首页 > 其他分享> > jsp中怎么重写url

jsp中怎么重写url

作者:互联网

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中的实现方式。
首先在web.xml中配置一个过滤器:

1 < filter >
2      < filter - name > rewriteFilter </ filter - name >
3      < filter - class > org.tuckey.web.filters.urlrewrite.UrlRewriteFilter </ filter - class >
4      < init - param >
5          < param - name > logLevel </ param - name >
6          < param - value > commons </ param - value >
7      </ init - param >
8 </ filter >


1 < filter - mapping >
2      < filter - name > rewriteFilter </ filter - name >
3      < url - pattern > /*</url-pattern>
4    <!--dispatcher>REQUEST</dispatcher>
5    <dispatcher>FORWARD</dispatcher-->
6</filter-mapping>


然后在WEB-INF目录下有一个配置文件urlrewrite.xml内容如下:

 1 <? xml version = " 1.0 "  encoding = " utf-8 " ?>
 2 <! DOCTYPE urlrewrite PUBLIC  " -//tuckey.org//DTD UrlRewrite 3.0//EN "
 3      " http://tuckey.org/res/dtds/urlrewrite3.0.dtd " >
 4
 5 <!--  https: // urlrewrite.dev.java.net/manual/3.0 -->
 6 < urlrewrite >
 7      < rule >
 8          < from >^/ user / (. * ).html$ </ from >
 9          < to type = " forward " >/ editUser.html\ ? username = $ 1 </ to >
10      </ rule >
11
12      <!--  Override  default  validation.js from WebWork  -->
13      < rule >
14          < from >^/ webwork / css_xhtml / validation.js$ </ from >
15          < to type = " forward " >/ template / css_xhtml / validation.js </ to >
16      </ rule >
17 </ urlrewrite >


标签:http,url,server,jsp,news,111,UrlRewrite,重写,页面
来源: https://blog.51cto.com/u_15166492/2703890