structs2配置UrlRewriteFilter

          轉載每個網頁或請求都是一個url地址,一般,這個地址可能是.do,.page,.action之類的并加上'?'號、'&'號查詢串等構成的一個長長的的url。很urgly。

          一般的url----------------------------------------------------------較好的url
          http://www.xxx.net/user/profile.do?id=20001   ====> http://www.xxx.net/user/20001
          http://www.xxx.net/forum/board.do?name=java   ====> http://www.xxx.net/forum/java
          http://www.xxx.net/forum/thread.do?id=29923   ====> http://www.xxx.net/thread/29923

          后者明顯較為直觀和漂亮。

          使用url rewrite可以很好的改善這個狀況。網站url rewrite應用是非常廣泛的,良好的url設計給用戶帶來的非常好的體驗,同時也能吸引搜索引擎的注意。
          原文地址:http://www.iteye.com/topic/53834
          使用方式:
          1 配置web.xml文件
          樣例:
              <listener>
                  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
              </listener>
              <filter>
                  <filter-name>encodingFilter</filter-name>
                  <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
                  <init-param>
                      <param-name>encoding</param-name>
                      <param-value>UTF-8</param-value>
                  </init-param>
              </filter>
              <filter-mapping>
                  <filter-name>encodingFilter</filter-name>
                  <url-pattern>/*</url-pattern>
              </filter-mapping>
              <filter>
                  <filter-name>osivFilter</filter-name>
                  <filter-class>
                      org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
              </filter>
              <listener>
                  <listener-class>
                      org.springframework.web.context.request.RequestContextListener</listener-class>
              </listener>
              <filter-mapping>
                  <filter-name>osivFilter</filter-name>
                  <url-pattern>/*</url-pattern>
              </filter-mapping>
              <!--配置UrlRewriteFilter過濾器-->
              <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>*.html</url-pattern>
                  <dispatcher>REQUEST</dispatcher>
                  <dispatcher>FORWARD</dispatcher>
                  <dispatcher>INCLUDE</dispatcher>
              </filter-mapping>
              <filter>
                  <filter-name>struts-prepare</filter-name>
                  <filter-class>
                      org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter</filter-class>
                  <init-param>
                      <param-name>actionPackages</param-name>
                      <param-value>com.secneo.action.*.*</param-value>
                  </init-param>
              </filter>
              <filter>
                  <filter-name>struts2</filter-name>
                  <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
              </filter>

              <filter>
                  <filter-name>struts-execute</filter-name>
                  <filter-class>
                      org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter</filter-class>
              </filter>
              <filter>
                  <filter-name>struts-cleanup</filter-name>
                  <filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>
              </filter>
              <filter-mapping>
                  <filter-name>struts2</filter-name>
                  <url-pattern>*.jsp</url-pattern>
              </filter-mapping>
              <!--在structs2中使用UrlRewriteFilter過濾器-->
              <filter-mapping>
                  <filter-name>struts2</filter-name>
                  <url-pattern>*.action</url-pattern>
                  <dispatcher>REQUEST</dispatcher>
                  <dispatcher>FORWARD</dispatcher>
                  <dispatcher>INCLUDE</dispatcher>
              </filter-mapping>
              <filter-mapping>
                  <filter-name>struts2</filter-name>
                  <url-pattern>*.tld</url-pattern>
              </filter-mapping>
              <filter-mapping>
                  <filter-name>struts2</filter-name>
                  <url-pattern>*.tag</url-pattern>
              </filter-mapping>

              <filter-mapping>
                  <filter-name>struts-prepare</filter-name>
                  <url-pattern>*.jsp</url-pattern>
              </filter-mapping>
              <filter-mapping>
                  <filter-name>struts-prepare</filter-name>
                  <url-pattern>*.action</url-pattern>
              </filter-mapping>
              <filter-mapping>
                  <filter-name>struts-prepare</filter-name>
                  <url-pattern>*.tld</url-pattern>
              </filter-mapping>

              <filter-mapping>
                  <filter-name>struts-execute</filter-name>
                  <url-pattern>*.jsp</url-pattern>
              </filter-mapping>
              <filter-mapping>
                  <filter-name>struts-execute</filter-name>
                  <url-pattern>*.action</url-pattern>
              </filter-mapping>
              <filter-mapping>
                  <filter-name>struts-execute</filter-name>
                  <url-pattern>*.tld</url-pattern>
              </filter-mapping>

              <filter-mapping>
                  <filter-name>struts-cleanup</filter-name>
                  <url-pattern>*.jsp</url-pattern>
              </filter-mapping>
              <filter-mapping>
                  <filter-name>struts-cleanup</filter-name>
                  <url-pattern>*.action</url-pattern>
              </filter-mapping>
              <filter-mapping>
                  <filter-name>struts-cleanup</filter-name>
                  <url-pattern>*.tld</url-pattern>
              </filter-mapping>
              <listener>
                  <listener-class>
                      org.springframework.web.util.IntrospectorCleanupListener</listener-class>
              </listener>
          2  在WEB-INF目錄下添加urlrewrite.xml 文件,根據具體需要寫規則
          樣例:
          <?xml version="1.0" encoding="utf-8"?>
          <urlrewrite>
              <rule>
                  <from>^/(.*).html$</from>
                  <to type="forward">/$1.action</to>
              </rule>
              <rule>
                  <from>^/(.*).html?(.*)$</from>
                  <to type="forward">/$1.action?$2</to>
              </rule>
          </urlrewrite>

          posted on 2011-11-09 17:22 AK47 閱讀(1783) 評論(0)  編輯  收藏 所屬分類: Structs

          <2011年11月>
          303112345
          6789101112
          13141516171819
          20212223242526
          27282930123
          45678910

          導航

          統計

          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 贡觉县| 福海县| 泾阳县| 巴林左旗| 罗源县| 陵川县| 武穴市| 马公市| 鄱阳县| 美姑县| 灵丘县| 永修县| 颍上县| 伊川县| 札达县| 玛纳斯县| 金山区| 泗阳县| 启东市| 沛县| 定州市| 宣汉县| 南澳县| 绥德县| 竹溪县| 永安市| 佛坪县| 宁海县| 合川市| 鄂伦春自治旗| 武穴市| 育儿| 清原| 新余市| 道孚县| 武清区| 潍坊市| 海阳市| 荣昌县| 香格里拉县| 道孚县|