• java伪静态


    现在UrlRewriter技术有两个技术平台 的,一个就是在Java方向的,另一个就是.NET方向的。今天我们讲的是Java方向的应用。
    首先让我们了解它的工作原理,说白了它就是一个简 单的过滤器(Filter) ,看看源码你就会很快的明白,它就是通过我们在jsp中常用的两个方法实现的forward(),sendRedirect().
    下面我们就快速 的为你的网站搭建Url重写技术。
    第一步:下载urlrewrite-2.6.0.现在最新版本是3.1 的。(http://tuckey.org/urlrewrite/dist/urlrewritefilter-2.6.zip
    http://urlrewritefilter.googlecode.com /files/urlrewritefilter-3.1.0.zip把urlrewrite-2.6.0.jar拷到classpath下。
    第 二步:在WEB-INF目录下建一个urlrewrite.xml文件。
    第三步:在web.xml中初始化。加上下面的代码:
    <!-- Set URL Rewrite-->
    <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>
    </filter-mapping>
    最 后我要简单的讲一下常用的两个配置规则.以下就是简单的urlrewrite.xml配置片段。不要习惯Java的命名法把它写成 urlRewrite.xml,这样即使你加上
    <init-param>
    <param-name>confPath</param-name>
    <param-value>/WEB-INF/urlRewrite.xml</param-value>
    </init-param>
    在 启动的服务器的时候还是会报错的,因为源码中必须是全小写的(urlrewrite.xml)且只能放到WEB-INF下面。
    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 2.6//EN"
    "http://tuckey.org/res/dtds/urlrewrite2.6.dtd">
    <urlrewrite>
    <rule>
    <from>^/(/w+)/(/w+)/page_(/d+)/.html$</from>
    <to type="forward">/$1.htm?category=$2&amp;page=$3</to>
    </rule>
    <rule>
    <from>^/rss/yahoo/.html$</from>
    <to type="redirect"> http://add.my.yahoo.com/rss? url=http://feed.feedsky.com/W3CSSiteFeed
    </to>
    </rule>
    </urlrewrite>
    所 有的规则配置都写在这里。第一个常用个规则就是站内的简单重写。

    <rule>
    <from></from>
    <to type="forward></to>
    </rule>
    <from></from> 写上你自己定义的访问地址,<to type="forward></to>就是实际的访问地址。比如我们实际的访问地址是:http://yousite.com /entity.htm ?category=user&page=2.而我们想把它重写为http://yousite.com/entity/uesr /page_2.html。这样看起来比我们实际的要好看的多。我们就应该这样的写: 
    <rule>
    <from>^/(/w+)/(/w+)/page_(/d+)/.html$</from>
    <to type="forward">/$1.htm?category=$2&amp;page=$3</to>
    </rule>
    简 单的介绍一下常用的正规表示式: 



    代码
    说明




    .
    匹配除换行符以 外的任意字符


    /w
    匹配字母或数字或下划线或汉字


    /s
    匹配任意的空白符


    /d
    匹 配数字


    /b
    匹配单词的开始或结束


    ^
    匹配字符串的开始


    $
    匹 配字符串的结束



    常用的&amp;要用 &amp;来表示。$1,$2代表与你配置正规表达式/(/w+)/(/w+)/相对应的参数。<to type="forward">默认的是 type="forward".
    另一个常用的规则就是连接外部的网站。就要用到。<to type="redirect">
    <rule>
    <from>^/rss/yahoo/.html$</from>
    <to type="redirect"> http://add.my.yahoo.com/rss? url=http://feed.feedsky.com/MySiteFeed
    </to>
    </rule>
    <!--v:3.2-->

  • 相关阅读:
    【收藏】如何理解二维数组
    【algo&ds】9.拓扑排序、AOV&AOE、关键路径问题
    【algo&ds】8.最小生成树
    【algo&ds】7.最短路径问题
    【algo&ds】6.图及其存储结构、遍历
    【c&c++】变量初始化
    【algo&ds】【pat】5.并查集及其应用
    【algo&ds】4.B树、字典树、红黑树、跳表
    【algo&ds】4.树和二叉树、完全二叉树、满二叉树、二叉查找树、平衡二叉树、堆、哈夫曼树、散列表
    【algo&ds】3.栈和队列
  • 原文地址:https://www.cnblogs.com/littleCode/p/3520359.html
Copyright © 2020-2023  润新知