Jsp 伺服器resin的url重新導向的摸索

來源:互聯網
上載者:User
 

最簡單的是基於各種WEB伺服器中的URL重寫轉向(Rewrite)模組的URL轉換:
這樣幾乎可以不修改程式的實現將 news.jsp?id=234 這樣的連結映射成 news/234.html,從外面看上去和靜態連結一樣。resin伺服器上可以通過webinfo的web.xml來設定:URL REWRITE功能之強大足夠寫上一本書。

當我需要將將news.jsp?id=234的映射成news/234.html時,只需設定web-inf所在目錄下面的web.xml:

並且增加以下語句
<filter filter-name='rewrite'
        filter-class='com.caucho.filters.RewriteFilter'>
  <init>
    <rewrite pattern="/(/d+)/.html" target="//news.jsp/?id=$1"/>
    //<rewrite pattern="/value_(.+)/.html" target="//news.jsp/?t=$1"/> 這句是作為另外的參數設定的
  </init>
</filter>

<filter-mapping url-pattern='/*' filter-name='rewrite'/>

 

其他方法大家可以自己去摸索,rewrite的功能非常強大。

這樣設定後就可以通過1234.htm這樣的連結訪問原來的動態網頁面了。

通過URL REWRITE還有一些好處:

  • 隱藏後台實現:這在後台應用平台的遷移時非常有用:當從jsp遷移到asp平台時,對於前台使用者來說,根本感受不到後台應用的變化;
  • 簡化資料校正:因為像(/d+)這樣的參數,可以有效控制數位格式甚至位元;

比如我們需要將應用從news.jsp?id=234遷移成news.php?query=234時,前台的表現可以一直保持為 news/234.html。從實現應用和前台表現的分離:保持了URL的穩定性,而使用mod_rewrite甚至可以把請求轉寄到其他後台伺服器上。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.