• URL重写技术


    搞了一个小时才完成URL重写技术,下面就写一下学习笔记,用一个实例的方式解释如何实现URL重写

    我的目标就是令类似/personal/a1/a2的所有HTTP请求

    解释成/urlReWrite.do?city=a1&name=a2,并执行相应的Action输出2个参数

    1.首先是新建一个Struts项目,之后增加一个jsp页面,目录结构如下所示

    2.下载urlrewriterfilter,附件那里我会提供下载

    之后把jar文件和xml配置文件导入到项目相应的目录中

    导入jar文件

    之后选择urlrewrite-3.1.0.jar

    导入XML配置文件

    选择XML catalog文件,之后选择导入的路径,就是在WEB-INF目录下

    之后选择 import files from file system

    之后选择你的urlrewriter.xml的目录位置

    之后点击finish,完成了导入的工作了

    3.在web.xml文件中增加以下的一个filter,主要是过滤所有/personal/的HTTP请求

    <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>/personal/*</url-pattern>
        </filter-mapping>

    4.配置urlrewriter.xml文件,配置如下

    <rule>
            <from>/personal/([a-z]+)/([a-z]+)</from>
            <to type="forward">/urlReWriter.do?city=$1&amp;name=$2</to>
        </rule>

    5.在urlRewrite.jsp页面中增加如下代码

    <html:link page="/personal/jilin/gaohongyan">click here</html:link>

    6.添加一个Action,path路径设置为urlReWriter

    修改Action代码如下所示

    public ActionForward execute(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response) {
    System.out.println("city="+request.getParameter("city"));
    System.out.println("name="+request.getParameter("name"));
    return null;
    }

    主要是在控制台输出2个参数

    7.最后就是部署项目,最后效果如下

    点击之后

    希望对大家学习有所帮助。

    urlrewritefilter-3.1.0.zip

  • 相关阅读:
    每周总结8.18
    每周总结7.28
    每周总结8.25
    每周总结7.21
    每周总结8.11
    每周总结8.4
    大道至简 读后感
    递归进行回文的判断
    课后作业1
    GoodBlogs Websites
  • 原文地址:https://www.cnblogs.com/cookies9/p/1930902.html
Copyright © 2020-2023  润新知