大漠駝鈴

          置身浩瀚的沙漠,方向最為重要,希望此blog能向大漠駝鈴一樣,給我方向和指引。
          Java,Php,Shell,Python,服務(wù)器運(yùn)維,大數(shù)據(jù),SEO, 網(wǎng)站開(kāi)發(fā)、運(yùn)維,云服務(wù)技術(shù)支持,IM服務(wù)供應(yīng)商, FreeSwitch搭建,技術(shù)支持等. 技術(shù)討論QQ群:428622099
          隨筆 - 238, 文章 - 3, 評(píng)論 - 117, 引用 - 0
          數(shù)據(jù)加載中……

          URLRewrite 實(shí)現(xiàn)URL地址偽靜態(tài)化

          1.首先在http://tuckey.org/urlrewrite/#download下載urlrewirtefilter

          2.解壓所下載的文件,把urlrewrite-2.6.0.jar復(fù)制到項(xiàng)目的WebRoot/WEB-INF/lib/目錄下

          3.把urlrewrite.xml復(fù)制到項(xiàng)目的WebRoot/WEB-INF/目錄下

          4.在web.xml文件中加入filter

          <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
          1.普通url靜態(tài)化 例如:
          要把http://localhost/prjtest/user/list.jsp轉(zhuǎn)換成http://localhost/prjtest/user/list.html這種是最簡(jiǎn)單的,當(dāng)一個(gè)servlet跳轉(zhuǎn)到list.jsp頁(yè)面列出user列表時(shí),在urlrewrite.xml中這樣配置:
          <rule>
          <from>^/user/list.html</from>
             
          <to type="redirect">/user/list.jsp</to>
          </rule>
          當(dāng)請(qǐng)求/user/list.html這個(gè)頁(yè)面時(shí),實(shí)際上相當(dāng)于請(qǐng)求/user/list.jsp頁(yè)面,在servlet的跳轉(zhuǎn)要這樣寫(xiě):response.sendRedirect("./user/list.html");

          2要把http://localhost/prjtest/user/view.jsp?cid=1&cname=admin轉(zhuǎn)換成http://localhost/prjtest/user/view/1_admin.html在urlrewrite.xml中這樣配置:

          <rule>
          <from>^/user/view/([0-9]+)_([a-z]+).html$</from>
          <to type="redirect">/user/view.jsp?cid=$1&cname=$2</to>
          </rule>

          6特別說(shuō)明
          為什么地址欄不變?
          原因就在于瀏覽器顯示的是最后被給定的URL。當(dāng)一個(gè)URL被提交后,在某一個(gè)組件返回一個(gè)相應(yīng)給瀏覽器之 前,你的應(yīng)用可能轉(zhuǎn)發(fā)請(qǐng)求多次。所有這些都發(fā)生在服務(wù)器端,瀏覽器并不知道發(fā)生了什么事。當(dāng)一個(gè)Http相應(yīng)被放回時(shí),它并沒(méi)有包含地址信息,所以瀏覽器 僅僅顯示用來(lái)作為初始請(qǐng)求的地址。

          要想讓地址欄也變成靜態(tài)化的URL,很簡(jiǎn)單,將<to type="redirect">改成<to type="forward">即可




          posted on 2009-03-05 09:38 草原上的駱駝 閱讀(947) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): JAVA基礎(chǔ)知識(shí)

          主站蜘蛛池模板: 华阴市| 阜南县| 丰台区| 宜都市| 新沂市| 台湾省| 格尔木市| 英超| 靖安县| 三门县| 汉川市| 襄垣县| 望城县| 平顶山市| 清徐县| 绍兴县| 英山县| 信宜市| 永州市| 启东市| 栖霞市| 通江县| 长宁县| 郑州市| 永康市| 岚皋县| 碌曲县| 德格县| 仙居县| 武山县| 连山| 锦屏县| 宁津县| 梁山县| 潼关县| 兴城市| 博罗县| 江孜县| 蛟河市| 桂平市| 汉阴县|