當(dāng)前位置:首頁(yè) >  站長(zhǎng) >  建站經(jīng)驗(yàn) >  正文

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

 2019-03-21 15:07  來(lái)源: A5用戶投稿   我來(lái)投稿 撤稿糾錯(cuò)

  域名預(yù)訂/競(jìng)價(jià),好“米”不錯(cuò)過(guò)

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

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

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

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

2、將下載得到的urlrewritefilter-4.0.3.jar放在你構(gòu)建的項(xiàng)目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 攔截所有的用戶請(qǐng)求。

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

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

java代碼:

  

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

/userinf-(\w*).html  

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

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

java代碼:

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

<%  

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

%>  

<%=user%>的個(gè)人信息  

<%  

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

");  

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

%>  

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

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

申請(qǐng)創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!

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

相關(guān)文章

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

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

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

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

    標(biāo)簽:
    java
    java培訓(xùn)
  • 動(dòng)力節(jié)點(diǎn)廣州Java培訓(xùn),為大家撐起一個(gè)IT的未來(lái)

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

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

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

  • 參加動(dòng)力節(jié)點(diǎn)北京Java培訓(xùn)會(huì)讓學(xué)者更加有信心

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

熱門(mén)排行

信息推薦