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>

  • 相关阅读:
    约瑟夫问题
    JSON与对象,集合之间的转换
    单向链表
    selenium中的元素操作之三大切换(二)
    接口的鉴权cookie、session和token
    selenium中的元素操作之三大等待(一)
    python中通过selenium简单操作及xpath元素定位&轴定位
    fiddler数据过滤功能
    安装Ubuntu18.04系统
    Ubuntu 18.04 上使用xrdp远程桌面连接(Windows远程桌面连接)
  • 原文地址:https://www.cnblogs.com/miaosj/p/7059090.html
Copyright © 2011-2022 走看看