JSP的URL重写技术:urlrewritefilter附下载


有时候项目中的真实链接不想让访问者直接读取到,所以这里就是用了url重写技术.urlrewritefilter4.0  是个开源的框架,其实就是把真实的链接替换掉,替换成你想显示的链接,然后web.xml里面有个过滤器,对链接进行过滤.

(A Java Web Filter with functionality like Apache's mod_rewrite)

项目地址:http://code.google.com/p/urlrewritefilter/

①解压之后就是

WEB-INF 文件夹直接复制到项目中即可,urlrewrite.xml  lib\urlrewrite-4.0.0.jar

②web.xml里面 引入:(注意位置)


<!--UrlRewriteFilter --> 
    <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> 


③定义规则如下:

需要重写的链接:

http://localhost:8080/OrderSy/instrument/queryAction.action?id=82

重写前台页面链接:
 

<a href="<%=basePath%>query${OrdesInstrument.id }" > 

定义规则如下:

<rule> 
        <from>/query([0-9]+)</from> 
        <to type="redirect">instrument/queryAction.action?id=$1  
            </to> 
    </rule> 
    <rule> 
        <from>/querywyyy([0-9]+)</from> 
        <to type="redirect">instrumentReservation/findByInstrumentId0.action?instrumentId =$1  
            </to> 
    </rule> 
  1. <from>/query([0-9]+)</from>  对页面的链接进行重写()里面是正则表达式,
  2. <to type="redirect">instrument/queryAction.action?id=$1 </to> $1表示上面的第1个参数,多个参数的时候,$2以此类推.

 ④定义规则之后:前台页面显示如下:

http://localhost:8080/OrderSy/query82 

下载地址:http://enetq.blog.51cto.com/ext/down_att.php?aid=29122&code=2677

你可能感兴趣的:(jsp,url,静态化)