當(dāng)前位置:首頁 >  站長 >  建站經(jīng)驗 >  正文

java中如何用urlrewritefilter實現(xiàn)網(wǎng)站偽靜態(tài)?

 2019-03-21 15:07  來源: A5用戶投稿   我來投稿 撤稿糾錯

  域名預(yù)訂/競價,好“米”不錯過

大部分搜索引擎都會優(yōu)先考慮收錄靜態(tài)的HTML頁面,而不是動態(tài)的*.jsp、*.php頁面。但實際上絕大部分網(wǎng)站都是動態(tài)的,不可能全部是靜態(tài)的HTML頁面,因此互聯(lián)網(wǎng)上大部分網(wǎng)站都會考慮偽靜態(tài)——就是將*.jsp、*.php這種動態(tài)URL偽裝成靜態(tài)的HTML頁面。請問java中如何實現(xiàn)偽靜態(tài)呢?

通過Filter攔截所有發(fā)向*.html請求,然后按某種規(guī)則將請求forward到實際的*.jsp頁面即可。下面要使用的URL Rewrite開源項目就是為這種思路提供了實現(xiàn)。

如何利用URL Rewrite實現(xiàn)網(wǎng)站偽靜態(tài):

1、下載Url Rewrite的最新版本。我下的是urlrewritefilter-4.0.3.jar

2、將下載得到的urlrewritefilter-4.0.3.jar放在你構(gòu)建的項目WEB-INF下的lib文件夾中

3、在web.xml文件中配置啟用URL Rewrite Filter,在web.xml文件中增加如下配置片段(該片段放在所有的servlet標(biāo)簽的以前)

java代碼:

  

UrlRewriteFilter  

org.tuckey.web.filters.urlrewrite.UrlRewriteFilter  

  

UrlRewriteFilter  

/*  

REQUEST  

FORWARD  

上面的配置片段指定使用URL Rewrite Filter 攔截所有的用戶請求。

4、在你項目的WEB-INF路徑下增加urlrewrite.xml文件,該文件定義了偽靜態(tài)映射規(guī)則,這份偽靜態(tài)規(guī)則是基于正則表達式的。

文件內(nèi)容如下:

java代碼:

  

"http://www.tuckey.org/res/dtds/urlrewrite4.0.dtd">  

/userinf-(\w*).html  

%{context-path}/userinf.jsp?username=$1  

上面的規(guī)則文件中只定義了一個簡單的規(guī)則:所有發(fā)向/user-(\w*).html的請求都將被redirect到userinf.jsp頁面,并將(\w*)正則表達式所匹配的內(nèi)容作為username參數(shù)值。根據(jù)這個偽靜態(tài)規(guī)則,我們?yōu)檫@個應(yīng)用提供一個userinf.jsp頁面(該頁面只是我們的一個測試頁面,用戶可以自己定義自己的頁面)。代碼如下:

java代碼:

<%@ page contentType="text/html; charset=UTF-8" language="java" errorPage="" %>  

<%  

String user = request.getParameter("username");  

%>  

<%=user%>的個人信息  

<%  

out.println("現(xiàn)在時間是: "+new java.util.Date() +"

");  

out.println("用戶名: "+user);  

%>  

一切準備就緒后,重啟tomcat,然后在瀏覽器地址欄輸入userinf-xxxx.html的請求地址,例如:我構(gòu)建的項目名稱叫做webDemo那么我就可以輸入:http://localhost:8080/webDemo/userinf-test.html

個人站:http://www.yzcopen.com/  有時間做做靜態(tài)處理

申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!

相關(guān)標(biāo)簽
偽靜態(tài)設(shè)置
java

相關(guān)文章

  • 參加Java培訓(xùn)班有用嗎?這個問題大家要怎么看待

    在眾多的編程培訓(xùn)中,Java軟件開發(fā)作為老牌兒的編程主流,從發(fā)展前景上看,無論是現(xiàn)在還是將來,依然會持續(xù)火爆的狀態(tài)。對于當(dāng)下年輕人想要快速的掌握這項技術(shù),進入到這個行業(yè),最為熱議的話題是“參加Java培訓(xùn)班有用嗎”。小編可以肯定的回答,是有用的,學(xué)習(xí)的根據(jù)來自于興趣,如果大家是真的熱愛這行,在加上專

    標(biāo)簽:
    java
  • 動力節(jié)點南京Java培訓(xùn)口碑教學(xué),滿分教學(xué)就業(yè)體驗

    江南佳地,邂逅金陵,動力節(jié)點南京Java培訓(xùn)校區(qū),為長三角地帶的發(fā)展注入專業(yè)Java教培力量,動力節(jié)點自09年成立至今,專注Java培訓(xùn)教學(xué),一直秉承著“為學(xué)員服務(wù)”的唯一教育理念,堅持口碑教學(xué),被業(yè)界稱為“口口相傳的Java培訓(xùn)黃埔軍?!?。

    標(biāo)簽:
    java
    java培訓(xùn)
  • 動力節(jié)點廣州Java培訓(xùn),為大家撐起一個IT的未來

    廣州動力節(jié)點Java培訓(xùn)機構(gòu),一直以來專注Java的教學(xué),深耕教育,穩(wěn)扎穩(wěn)打,在行業(yè)具有“口口相傳的黃埔軍?!敝Q,有句話說的好“沒有量變的積累,哪來質(zhì)變的飛躍”動力節(jié)點和你一起,扎扎實實做教育,你們扎扎實實學(xué)本領(lǐng),時刻準備著,有朝一日,風(fēng)自會來。

    標(biāo)簽:
    java
    在線培訓(xùn)
  • 動力節(jié)點成都Java培訓(xùn)招生源于口碑,業(yè)界巨頭

    為了能夠搭乘互聯(lián)網(wǎng)的快車,實現(xiàn)人生的逆轉(zhuǎn),不少年輕人選擇動力節(jié)點成都Java培訓(xùn),動力節(jié)點作為Java職業(yè)培訓(xùn),沒有理由不去擔(dān)起這份沉甸甸的信任,所以,自09年創(chuàng)立起,一直專注于Java的教學(xué),將全部的資源

    標(biāo)簽:
    java
    培訓(xùn)機構(gòu)
  • 參加動力節(jié)點北京Java培訓(xùn)會讓學(xué)者更加有信心

    通過Java培訓(xùn)出來的同學(xué)與沒參加過培訓(xùn)的同學(xué)差距還是有不少的,同學(xué)一直以來對參加培訓(xùn)都保持著猶豫的心態(tài),其實大家了解后會發(fā)現(xiàn),不管是對零基礎(chǔ)還是有編程認知的同學(xué)來講,參與更加密集、系統(tǒng)化的培訓(xùn)

    標(biāo)簽:
    java
    培訓(xùn)機構(gòu)

熱門排行

信息推薦