gembin

          OSGi, Eclipse Equinox, ECF, Virgo, Gemini, Apache Felix, Karaf, Aires, Camel, Eclipse RCP

          HBase, Hadoop, ZooKeeper, Cassandra

          Flex4, AS3, Swiz framework, GraniteDS, BlazeDS etc.

          There is nothing that software can't fix. Unfortunately, there is also nothing that software can't completely fuck up. That gap is called talent.

          About Me

           

          JSP使用URLRewirte實現url地址偽靜態化(轉)

          URL:http://urlrewritefilter.googlecode.com/svn/trunk/src/doc/manual/3.1/index.html
          URLRewirte的用處:
          1.滿足搜索引擎的要求
          2.隱藏技術實現,提高網站的移植性
          3.滿足美感的要求(個人感覺這個用處太牽強)
          項目部署
          1.首先在http://tuckey.org/urlrewrite/下載urlrewirtefilter
          2.解壓所下載的文件,把urlrewrite-2.6.0.jar復制到項目的WebRoot/WEB-INF/lib/目錄下,然后編譯
          3.把urlrewrite.xml復制到項目的WebRoot/WEB-INF/目錄下
          4.在web.xml文件中加入以下:
          <!-- 動態地址靜態化 -->
          <filter>
          <filter-name>UrlRewriteFilter</filter-name>
             <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
             <init-param>
              <param-name>logLevel</param-name>
              <param-value>WARN</param-value>
             </init-param>
          </filter>
          <filter-mapping>
             <filter-name>UrlRewriteFilter</filter-name>
             <url-pattern>/*</url-pattern>
          </filter-mapping>
          5.需要配置urlrewrite.xml文件來實現url靜態化,下面將詳細說明
          到這里相關的配置已經完成,下面看如何把動態地址靜態化
          1.普通url靜態化
          例如:要把http://localhost/prjtest/user/list.jsp轉換成http://localhost/prjtest/user/list.html
          這種是最簡單的,當一個servlet跳轉到list.jsp頁面列出user列表時,在urlrewrite.xml中這樣配置:
          <rule>
          <from>^/user/list.html</from>
             <to>/user/list.jsp</to>
          </rule>
          當請求/user/list.html這個頁面時,實際上相當于請求/user/list.jsp頁面
          在servlet的跳轉要這樣寫:
          response.sendRedirect("./user/list.html");
          2.帶參數的url靜態化
          例如:要把http://localhost/prjtest/user/view.jsp?cid=1&cname=admin轉換成
                 http://localhost/prjtest/user/view/1_admin.html
          在urlrewrite.xml中這樣配置:
          <rule>
          <from>^/user/view/([0-9]+)_([a-z]+).html$</from>
          <to>/user/view.jsp?cid=$1&amp;cname=$2</to>
          </rule>
          當請求/user/view/1_admin.html這個頁面時,實際上相當于請求/user/list.jsp?cid=1&cname=admin頁面
          在servlet的跳轉要這樣寫(cid,cname為變量):
          response.sendRedirect("./user/view/"+ cid +"_"+ cname +".html");
          注意:配置文件中用"&amp;"來代替"&"

          一個通用的正則表達式:[a-zA-Z0-9]+



          posted on 2008-05-27 00:44 gembin 閱讀(1325) 評論(0)  編輯  收藏 所屬分類: JavaEE

          導航

          統計

          常用鏈接

          留言簿(6)

          隨筆分類(440)

          隨筆檔案(378)

          文章檔案(6)

          新聞檔案(1)

          相冊

          收藏夾(9)

          Adobe

          Android

          AS3

          Blog-Links

          Build

          Design Pattern

          Eclipse

          Favorite Links

          Flickr

          Game Dev

          HBase

          Identity Management

          IT resources

          JEE

          Language

          OpenID

          OSGi

          SOA

          Version Control

          最新隨筆

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          free counters
          主站蜘蛛池模板: 宜宾县| 海门市| 马龙县| 静安区| 松桃| 措美县| 启东市| 西峡县| 雅安市| 五峰| 保靖县| 博白县| 郁南县| 恭城| 镇原县| 亚东县| 九台市| 浮山县| 正镶白旗| 黄山市| 如皋市| 治多县| 隆昌县| 蚌埠市| 宁武县| 黎平县| 渑池县| 福建省| 革吉县| 丹阳市| 渭源县| 蛟河市| 凯里市| 鸡泽县| 莱阳市| 兴业县| 营山县| 吴旗县| 祁连县| 酉阳| 皮山县|