Believe it,do it!

          Ideal is the beacon. Without ideal, there is no secure direction; without direction ,there is no life.
          理想是指路明燈。沒(méi)有理想,就沒(méi)有堅(jiān)定的方向;沒(méi)有方向,就沒(méi)有生活。
          CTRL+T eclipse
          posts - 35, comments - 3, trackbacks - 0, articles - 0
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          URLRewirte的用處:
          1.滿(mǎn)足搜索引擎的要求
          2.隱藏技術(shù)實(shí)現(xiàn),提高網(wǎng)站的移植性
          3.滿(mǎn)足美感的要求(個(gè)人感覺(jué)這個(gè)用處太牽強(qiáng))

          項(xiàng)目部署
          1.首先在http://tuckey.org/urlrewirte/下載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文件中加入以下:

           1<!-- 動(dòng)態(tài)地址靜態(tài)化 -->  
           2<filter>  
           3  <filter-name>UrlRewriteFilter</filter-name>  
           4  <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>  
           5  <init-param>  
           6    <param-name>logLevel</param-name>  
           7    <param-value>WARN</param-value>  
           8  </init-param>  
           9</filter>  
          10<filter-mapping>  
          11  <filter-name>UrlRewriteFilter</filter-name>  
          12  <url-pattern>/*</url-pattern>  
          13</filter-mapping>  
          14

          5.需要配置urlrewrite.xml文件來(lái)實(shí)現(xiàn)url靜態(tài)化,下面將詳細(xì)說(shuō)明

          到這里相關(guān)的配置已經(jīng)完成,下面看如何把動(dòng)態(tài)地址靜態(tài)化
          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中這樣配置:
          1<rule>  
          2  <from>^/user/list.html</from>  
          3  <to type="redirect">/user/list.jsp</to>  
          4</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.帶參數(shù)的url靜態(tài)化
          例如:要把http://localhost/prjtest/user/view.jsp?cid=1&cname=admin轉(zhuǎn)換成
                 http://localhost/prjtest/user/view/1_admin.html
          在urlrewrite.xml中這樣配置:
          1<rule>  
          2  <from>^/user/view/([0-9]+)_([a-z]+).html$</from>  
          3  <to type="redirect">/user/view.jsp?cid=$1&cname=$2</to>  
          4</rule>  

          當(dāng)請(qǐng)求/user/view/1_admin.html這個(gè)頁(yè)面時(shí),實(shí)際上相當(dāng)于請(qǐng)求/user/list.jsp?cid=1&cname=admin頁(yè)面
          在servlet的跳轉(zhuǎn)要這樣寫(xiě)(cid,cname為變量):
          response.sendRedirect("./user/view/"+ cid +"_"+ cname +".html");
          注意:配置文件中用"&"來(lái)代替"&"
          一個(gè)通用的正則表達(dá)式:[a-zA-Z0-9]+

          特別說(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">即可

          評(píng)論

          # re: JSP使用URLRewirte實(shí)現(xiàn)url地址偽靜態(tài)化  回復(fù)  更多評(píng)論   

          2014-08-08 10:53 by 秦莞爾v
          恩恩額吧
          主站蜘蛛池模板: 土默特右旗| 盐源县| 东海县| 安泽县| 凯里市| 香格里拉县| 即墨市| 阿拉善盟| 江门市| 益阳市| 固阳县| 松溪县| 荔浦县| 扶风县| 洪湖市| 湘潭县| 连平县| 凤冈县| 隆昌县| 平原县| 万载县| 鄂托克旗| 当阳市| 东丰县| 扎兰屯市| 宜兰市| 孙吴县| 苏尼特左旗| 乐清市| 临汾市| 灵山县| 静海县| 宁乡县| 长治县| 西峡县| 商洛市| 含山县| 江津市| 扶风县| 澄江县| 天津市|