• urlRewriteFilter来实现url的美化


    在appfuse的web.xml声明文件中有下面的类似声明:
    
    <filter>
            <filter-name>rewriteFilter</filter-name>
            <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
            <init-param>
                <param-name>logLevel</param-name>
                <param-value>commons</param-value>
            </init-param>
        </filter>
    
     <filter-mapping>
            <filter-name>rewriteFilter</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
    
    
    它所应用到的包存放在lib下的urlrewrite-3.0-beta.jar
    
    它和以上的两部分,以及/web-inf/urlrewrite.xml构成了对url地址的美化
    
    打开这个文件,我们可以看到以下的声明:
    
    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 3.0//EN"
        "http://tuckey.org/res/dtds/urlrewrite3.0.dtd">
    
    <!-- https://urlrewrite.dev.java.net/manual/3.0 -->
    <urlrewrite>
        <rule>
            <from>^/user/(.*).html$</from>
            <to type="forward">/editUser.html\?username=$1</to>
        </rule>
    </urlrewrite>
    
    这样系统就完成了url地址的editUser.html?username=****的美化
    
    如将 
    http://localhost/aaa/bbb.jsp?id=99&name=abc 
    表现为: 
    http://localhost/aaa/bbb/99_abc.html 
    配置如下: 
    <rule> 
    <from>/aaa/bbb/([0-9]+)_([a-z]+).html</from> 
    <to>/../aaa/bbb.jsp?id=$1&name=$2</to> 
    </rule>

     struts2+UrlRewriteFilter配置注意

    1.UrlRewriteFilter 应在 struts2过滤器前。

    2.struts2的filtermap应如此修改,否则会报404错误。

     <filter-mapping> 
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>FORWARD</dispatcher>
    </filter-mapping>
  • 相关阅读:
    base64转图片的两种方式
    perl表达 匿名数组和匿名哈希
    perl语言中的定义枚举
    两个字符串连接输出乱码问题解决
    perl LibXML模块使用详解
    SQL优化-标量子查询(数据仓库设计的隐患-标量子查询)
    CDH版hbase-0.98.1单机安装
    CDH版本hadoop2.6伪分布式安装
    MYSQL数据的安装、配置
    Redis介绍、安装部署、操作
  • 原文地址:https://www.cnblogs.com/lcuzhanglei/p/2617846.html
Copyright © 2020-2023  润新知