url重写

url重写 伪静态
使用场景:
     项目中很多情况下用到struts.请求链接诸如:useradd.do、useradd.action?method=xxx&name=abcd 之类的。
     显示的相当不美观。使用伪静态可以改变这点。
前置条件:
    urlrewritefilter-4.0.3.jar

使用方法:
   1. 在web.xml中 新增一个url重写过滤器
      <!-- url重写 伪静态 -->
        <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>
   2. 如果用到struts框架,将struts的过滤器配置做一定修改。
     
     <filter>
       <filter-name>struts2</filter-name>
       <filter-class>
        org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
       </filter-class>
     </filter>
     <filter-mapping>
       <filter-name>struts2</filter-name>
       <url-pattern>*.action</url-pattern>
       <dispatcher>REQUEST </dispatcher>
       <dispatcher>FORWARD </dispatcher>
     </filter-mapping>
     <filter-mapping>
       <filter-name>struts2</filter-name>
       <url-pattern>*.jsp</url-pattern>
     </filter-mapping>
   3.在WEB-INF下面新建一个名为urlrewrite.xml 的配置文件。  /WEB-INF/urlrewrite.xml
     
    <?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 4.0//EN"
        "http://www.tuckey.org/res/dtds/urlrewrite4.0.dtd">

<urlrewrite>
<!-- 中文映射 -->
    <rule>
        <from>zh/index.html</from>
        <to>zh/index.jsp</to>
    </rule>
   
    <rule>
        <from>zh/news.html</from>
        <to>zh/news/news_list.jsp</to>
    </rule>
   
    <rule>
        <from>zh/events.html</from>
        <to>zh/news/events_list.jsp</to>
    </rule>
     <rule>
        <from>zh/solution.html</from>
        <to  type="forward">ViewSolutionLst_UserSolution.action</to>
    </rule>
 </urlrewrite>

将from 的链接替换为to的链接

猜你喜欢

转载自xiebin-javalover.iteye.com/blog/1914753