zoukankan      html  css  js  c++  java
  • URLWRITE视图重写技术

       UrlRewrite就是地址重写,用户得到的全部都是经过处理后的URL地址,类似于Apache的mod_rewrite。将我们的动态网页地址转化为静态的地址,如html、shtml,还可以隐藏网页的真正路径。
    有如下特点:
    1、提高安全,隐藏了本身的url
    2、美化url,并且有利于搜索引擎收入,提高流量

    下载jar包
    网址:http://central.maven.org/maven2/org/tuckey/urlrewritefilter/

    可以看到urlwritefilter的各个版本jar包
    Jar包下载好之后引入到工程中

    建立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>/([a-zA-Z]+).html</from>
    <to last="true">/$1.jsp</to>
    </rule>
    </urlrewrite>
    //dtd文件只有2位比如4.0.2/4.0.3/4.0.4只有urlrewrite4.0.dtd

    rule是url重写规则,from是显示出来的地址,to是映射的实际地址,$1是重写参数,它的值与from中的正则表达式是一一对应,可以为多个,()里是匹配的正则表达式, 在正则表达式^指定字符的串开始,$为指定结束.   

    <rule>           

      <from>/(.*)/login.html</from>           

      <to type=“forward”>/yui/login.html?name=$1</to>      

    </rule>
    <rule>
    <from>^/user/([a-z]+)/([0-9]+)$</from>
    <to>/index.jsp?nickname=$1&amp;age=$2</to>   
    </rule> 
    比如http://localhost:8080/app/abc/login.html其实际请求的url为http://localhost:8080/app/yui/login.html?name=abc
    越在前面的rule越优先生效。

    配置web.xml文件

    <filter>
    <filter-name>UrlRewriteFilter</filter-name>
    <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
    </filter>
    <filter-mapping>
    <filter-name>UrlRewriteFilter</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>FORWARD</dispatcher>
    </filter-mapping>

  • 相关阅读:
    SVN服务器搭建和使用(一)
    Python3.x和Python2.x的区别
    myeclipse启动不了的解决方法
    学习第49天
    学习第48天
    学习第47天
    学习第46天
    学习第45天
    学习第44天
    学习第43天
  • 原文地址:https://www.cnblogs.com/miaosj/p/7059090.html
Copyright © 2011-2022 走看看