UrlRewrite 小结

     UrlRewriteUrlRewrite就是我们通常说的地址重写,用户得到的全部都是经过处理后的URL地址,类似于Apache的mod_rewrite将我们的动态网页地址转化为静态的地址,如htmlshtml,还可以隐藏网页的真正路径,比如:有时候需要将xxx.com/news/ type1/001.jsp 转化成显示路径为xxx.com/news_type1_001.html

     有点如下:

一: 提高安全性,屏蔽内部的url结构.
二: 美化URL
三: 更有利于搜索引擎的收入,通过对URL的一些优化,可以使搜索引擎更好的识别与收录网站的信息.
【步骤一】下载文件
    在http://tuckey.org/urlrewrite/#download下载最新的jar文件,当前最新的是Beat3.2我用的是urlrewritefilter-2.6.zip解压得到urlrewrite-2.6.0.jar  urlrewrite.xml
【步骤二】新建web项目TestUrlRewrite
    WebRoot下新建index.jsp,修改其代码如下所示:
<%@ page contentType="text/html; charset=UTF-8"%>  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
<html>  
       <head>  
              <title>测试TestUrlRewrite</title>  
       </head>  
       <body>  
              <%  
                     String id = (String) request.getParameter("id");  
                     out.println("<h3> the value is  : " + id +" </h3> ");  
              %>    
</body>  
</html> 
【步骤三】添加urlrewrite文件
     将urlrewrite-2.6.0.jar复制到WebRoot\WEB-INF\lib下。

    将urlrewrite.xml复制到WebRoot\WEB-INF下,其中urlrewrite.xml代码如下所示:

    

<?xml version="1.0" encoding="utf-8"?>  
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 3.1//EN" 
						"http://tuckey.org/res/dtds/urlrewrite3.1.dtd">  
<urlrewrite>
	<rule>
		<from>/(.*).html</from>
		<to>index.jsp?id=$1</to>
	</rule>
</urlrewrite>

    *.html 是一个正则表达式的串。如果你对这个不理解可以学习一下java中正则表达式的应用。

    $1 也是一个正则表达式的语言匹配正则中的组捕获。

        【步骤四】修改web.xml

     

  <filter>
  	<filter-name>UrlRewriter</filter-name>
  	<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
  	<init-param>
  		<param-name>logLevel</param-name>
  		<param-value>DEBUG</param-value>
  	</init-param>
  </filter>
  <filter-mapping>
  	<filter-name>UrlRewriter</filter-name>
  	<url-pattern>/*</url-pattern>
  </filter-mapping>

【步骤五】重启tomcat

   访问http://localhost:8080/TestUrlRewrite/2.html,页面效果如图所示:

  

   注意:

 1.urlrewrite.xml是utf-8.所以如果你要在rule上加note标签为中文的话,也一定是要utf-8

 2.UrlRewriteFilter 最好是配置在web.xml的前面filter上,不然有可能对有些url转变失去作用.

 3.在写rule的时,如果有多个参数时,中间的连接符号&应该是&amp;

     

     

   



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值