Struts2 5 偽靜態的配置

2022-01-10 19:13:13 字數 2092 閱讀 2227

偽靜態是相對真實靜態來講的,通常我們為了增強搜尋引擎的友好面,都將文章內容生成靜態頁面,但是有的朋友為了實時的顯示一些資訊。或者還想運用動態指令碼解決一些問題。不能用靜態的方式來展示**內容。但是這就損失了對搜尋引擎的友好面。怎麼樣在兩者之間找個中間方法呢,這就產生了偽靜態技術。就是展示出來的是以html一類的靜態頁面形式,但其實是用jsp一類的動態指令碼來處理的。

需要伺服器的支援:不是所有的伺服器都支援偽靜態的

不過偽靜態不大量使用還是可以接受的

第二步:官網上說的很明白,在你的web.xml中新增以下的filter,過濾所有的請求

<

filter

>

<

filter-name

>urlrewritefilter

filter-name

>

<

filter-class

>org.tuckey.web.filters.urlrewrite.urlrewritefilter

filter-class

>

filter

>

<

>

<

filter-name

>urlrewritefilter

filter-name

>

<

url-pattern

>/*

url-pattern

>

<

dispatcher

>request

dispatcher

>

<

dispatcher

>forward

dispatcher

>

<

dispatcher

>include

dispatcher

>

>

解釋一下這個filter中的一些標籤含義

首先可以了解一下

requestdispatcher

requestdispatcher提供兩個方法forward和include

都表示要跳轉到其他資源,不同的是,如果使用forward跳轉則後面的response輸出則不會執行,而用include來跳轉,則include的servlet執行完後,再返回到原來的servlet執行response的輸出(如果有)

元素

請求是以(/*)的,表示所有的起高球,並且是通過request dispatcher的forward方法傳遞過來或者直接從客戶端傳遞過來的,則必須經過這個過濾器。

所以需要加上那三個dispatcher很重要,可以避免一些不必要的錯誤

第三步:在你的web-inf目錄下建立乙個urlrewrite.xml的檔案 與web.xml同級,內容就是對請求過來的經行過濾,改變其字尾為html

<?

xml version="1.0" encoding="utf-8"

?>

doctype urlrewrite public "- urlrewrite 2.6//en" ""

>

<

urlrewrite

>

<

rule

>

<

from

>/([a-za-z0-9]*).html

from

>

<

to type

="forward"

>$1.do

to>

rule

>

urlrewrite

>

有些地方說需要加上他的另一半,,我感覺有這乙個就夠 了 ,(.html)前面是正規表示式為了匹配你的請求位址

意思就是你在瀏覽器位址列上輸入的位址(.html )會經過這裡轉變為(.do)的形式去執行的你的action ,還有的你的請求位址也帶有的html也會轉變為do,例如你的網頁中的標籤裡的位址

偽靜態可以根據自己的需求更改其中的一些內容,以適用於你的專案中

struts2 5的小例子

我自己用的是struts 2.5.16 min lib.zip,解壓匯入jar。package com.bingcao.test import com.opensymphony.xwork2.actionsupport public class loginaction extends actions...

關於Struts2 5以上版本的配置問題

昨天參考了這位部落格的struts專案配置 但由於他用的是2.3,我是struts2.5所以其實是有點區別的。一定注意別掉了最後log4j這個包,否則執行不了。2.5版本的過濾器配置 其目的就是讓所有的請求都經過過濾器。strutsfilter name org.apache.struts2.dis...

struts2 5初步使用教程

1新建乙個動態web應用,預設帶web.xml 2.將struts需要的包新增到web inf lib目錄下,需要的包如圖所示 struts2 org.apache.struts2.dispatcher.filter.strutsprepareandexecutefilter struts2 4,在...