當前位置:首頁 » 凈水方式 » 文章過濾器

文章過濾器

發布時間: 2021-04-08 16:27:51

① totto過濾器的工作原理是什麼

魚缸復中需要換水的原因是因為過濾制器中培養的硝化細菌只能分解由魚糞,余糧,屍體轉化的氨氮,氨氮被分解為亞硝酸鹽再繼而被分解為硝酸鹽,因為無法處理硝酸鹽,當硝酸鹽濃度超標時就需要換水來降低硝酸鹽含量。而據說to tto過濾器可以處理水中的硝酸鹽,實現反硝化,所以才向外宣城可以做到不換水,買一款回去試試就知道了,試玩記得回來評論。

② 哥們你好:剛剛看了你的文章,關於魚缸高效過濾器製作的方法,我是初次養魚愛好者,對於你所說的方法沒懂

你發錯地方了。
應該點擊作者名字,選擇留言或發消息,
直接與作者聯系。

③ 如何隱藏WordPress網站的文章和頁面

如果不想通過代碼實現隱藏可選文章和頁面的標題,可以安裝並激活
WordPress
Hide
Title
plugin插件
,在相應頁面或文章的編輯窗口中,點擊WordPress管理下的文章和頁面菜單下需要編輯的項目即可。在編輯窗口下,有一個隱藏標題的自定義區塊:
你要做的就是選中這個復選框並單擊更新或發布按鈕,插件將隱藏單次PV上的標題。這意味著,主頁或其他分類頁面上仍然會顯示,只是單次PV上不再顯示了。
如果你希望創建一個簡單的、不顯示文章標題的登錄頁面,這種方法確實非常方便。
隱藏所有的WordPress文章和頁面標題
如果你想隱藏單一頁面上所有的文章和頁面標題,可以通過修改主題來實現。
最簡單的方法就是在WordPress的
functions.php
文件中加一段下面的代碼:
這個過濾器只是在顯示單一文章或頁面時的
post_class()function
中增加了一個類
.hidetitle
。但是,這個過濾器只有在WordPress主題支持post
class的情況下有效。如果你希望只對文章有效,就刪除代碼中的
||
is_page()。
添加這個function之後,還需要在主題樣式表中添加這個CSS規則。
在上面的CSS中,我們使用了顯示CSS屬性來隱藏文章和頁面標題。但是,這個CSS規則僅適用於WordPress主題使用的文章和頁面標題是條目標題(
entry-title
)。在谷歌Chrome瀏覽器中打開文章,將滑鼠移到文章標題上,右鍵單擊並選擇審查元素,你會看到頁面的源代碼中文章標題的代碼,其中就有你WordPress主題所使用的CSS類。
如果主題使用
article-title
作為文章標題的CSS類,只需要如下簡單更改CSS:
以上方法適用於大部分WordPress主題。但是這些方法只是隱藏標題並不能阻止載入這些標題。如果你想移除WordPress主題模板上的文章和頁面標題,就需要刪除主題文件中的the_title代碼了。
如果你只是希望在單一PV上實現,那隻需要在single.php文件中修改。

④ 高效過濾器的過濾原理是什麼

高效過濾器的過濾層捕集微粒的作用主要有5種:
1.攔截效應:當某一粒徑的粒子運動到纖回維表面附近答時,其中心線到纖維表面的距離小於微粒半徑,灰塵粒子就會被濾料纖維攔截而沉積下來。
2.慣性效應:當微粒質量較大或速度較大時,由於慣性而碰撞在纖維表面而沉積下來。
3.擴散效應:小粒徑的粒子布朗運動較強而容易碰撞到纖維表面上。
4.重力效應:微粒通過纖維層時,因重力沉降而沉積在纖維上。
5.靜電效應:纖維或粒子都可能帶電荷,產生吸引微粒的靜電效應,而將粒子吸到纖維表面上。
隨著捕集灰塵越來越多,則濾層的過濾效率也隨著下降,而阻力增大;當到一定的阻力值或效率降到某值時,過濾器就需及時加以更換,以保證凈化潔凈度的要求。
高效過濾器的應用范圍主要是電子、半導體、精密機械、制葯、醫院、食品等行業中對潔凈要求較高的醫葯、民用或工業潔凈場所的末端過濾。由於高效過濾器一般作為過濾末端,因此,對高效過濾器的各項要求也最為嚴格,當然則需要額外「關照」。

還想了解更多,可上網路搜索:"KLCFILTER",第一個網站有高效過濾器相關技術文章;

⑤ 重復的內容過濾器:它是什麼以及它是如何工作

這種行為是在網頁,其中有一個接收在搜索引擎更好的結果的其他網頁的復製品見過許多次。很多人以為創建多個或類似的同一頁的副本要麼增加他們的機會獲得搜索引擎中,或幫助他們獲得多個列表,由於更多的關鍵字的存在。
為了使搜索更符合用戶,搜索引擎使用一個過濾器,刪除從搜索結果中重復的內容頁,垃圾郵件與它一起。不幸的是,好,勤勞的管理員曾受騙的搜索引擎施加的刪除重復的內容過濾器。正是這些網站管理員誰在不知情的垃圾郵件的搜索引擎,當有一些事情可以做,以避免被過濾掉了。為了讓您真正了解的概念,你可以實現,以避免重復的內容過濾器,您需要知道如何過濾器。
首先,我們必須明白一點,就是「重復內容處罰」,實際上是名不副實。當我們提及在搜索引擎排名的懲罰,我們要談的是從一個網頁中扣除,以得出一個整體的相關性得分。但在現實中,重復內容的網頁不會受到懲罰。相反,他們只是過濾,你這樣將使用篩子,以消除不必要的顆粒。有時候,「好意外顆粒過濾掉。
具有相同的頁面網站-這些網頁被認為是重復的,以及網站,另一個是一致的網站在互聯網上也被認為是垃圾郵件。聯盟網站具有相同的外觀和感覺含有相同的內容,例如,是特別容易受到重復的內容過濾器。另一個例子是一個門頁的網站。很多時候,這些門口是傾斜的目標網頁的版本。然而,這些目標網頁是相同的其他目標網頁。一般來說,門頁的目的是用於垃圾郵件的搜索引擎,以操縱搜索引擎結果。 抄襲內容-抄襲內容正在從一個網站的內容和重新包裝它,使它看起來不同,但在本質上它只不過是一個重復的網頁。隨著互聯網的普及上的博客和這些博客聚合,刮越來越成為一個問題的搜索引擎。 電子商務產品說明-在那裡,許多電子商務網站使用的產品,數百或在同一市場競爭的其他電子商務商店數千製造商的說明使用過。這種重復的內容,而較難發現,仍然被認為垃圾郵件。 物品配送-如果你發表一篇文章,它被復制,並在互聯網上的所有投入,這是件好事,對不對?不一定所有的網站功能的同一篇文章。這種重復的內容類型可能會非常棘手,因為盡管雅虎,MSN確定原始文章來源,並認為它在搜索結果中最相關,谷歌等其他搜索引擎可能不會,據一些專家。那麼,如何做了搜索引擎的重復內容過濾器的工作?從本質上講,當一個搜索引擎機器人爬行一個網站,它讀取的網頁,並在其資料庫存儲的信息。然後,它比較其研究結果的其他資料,在其資料庫中的。這取決於幾個因素,如一個網站的整體相關性得分,然後確定它是重復的內容,然後出網頁或網站,資格成為垃圾郵件過濾器。不幸的是,如果您的網頁不是垃圾郵件,但有足夠的相似內容,他們仍然可以被視為垃圾郵件。
如果您使用您的內容分發的文章,考慮如何相關的文章就是您的整體網頁,然後整個網站。有時候,簡單地增加自己的評注的條款就足以避免重復的內容過濾器,在類似的頁面檢查器可以幫助您使您的內容獨特。此外,更多的有關條款,您可以添加到贊揚第一篇文章,就越好。網站搜索引擎看看整個網頁及其關系的整體,只要您不完全照搬別人的網頁,你應該罰款。
如果你有一個電子商務網站,你應該寫你的產品的原始描述。這可能是很難做到,如果你有很多產品,但它確實是必要的,如果你想避免重復的內容過濾器。這里還有一個例子,為什麼使用類似網頁Checker是一個好主意。它可以告訴你,你可以改變您的描述,以便為您的網站有獨特的原始內容。這也適用抄襲內容也良好。許多抄襲內容的網站提供新聞。與同類頁面檢查器,您可以輕松地確定這個消息的內容是類似的,然後改變它,使其獨特的。
不要依賴於附屬網站的是相同的其他網站或創建相同的橋頁。這些類型的行為不僅立即過濾的垃圾郵件,但一般不存在頁的比較作為如果其他網站或網頁是重復發現整個網站,讓您的整個網站陷入困境。
重復的內容過濾有時是很困難的網站上不打算垃圾郵件的搜索引擎。但是,最終由你來幫助搜索引擎確定您的網站是獨一無二的可能。

⑥ DRUPAL7 相關文章調用,想通過一個欄位來調用相同內容的文章,請問用上下文過濾器能實現嗎如何實現

安裝 token 模塊, 把 q參數放入URL鏈接里, 然後通過上下來過濾,通過URL鏈接獲取這個參數, 不過這樣URL鏈接會更深一層。

也關注看有沒有更好的解決辦法。

⑦ 什麼是java過濾器! 它的功能和作用是什麼啊

Servlet API 很久以前就已成為企業應用開發的基石,而 Servlet 過濾器則是對 J2EE 家族的相對較新的補充。在 J2EE 探索者 系列文章的最後一篇中,作者 Kyle Gabhart 將向您介紹 Servlet 過濾器體系結構,定義過濾器的許多應用,並指導您完成典型過濾器實現的三個步驟。他還會透露 bean 的一些激動人心的變化,預計剛發布的 Java Servlet 2.4 規范會引入這些變化。

Servlet 過濾器是可插入的 Web 組件,它允許我們實現 Web 應用程序中的預處理和後期處理邏輯。過濾器支持 servlet 和 JSP 頁面的基本請求處理功能,比如日誌記錄、性能、安全、會話處理、XSLT 轉換,等等。 過濾器最初是隨 Java Servlet 2.3 規范發布的,最近定稿的 2.4 規范對它進行了重大升級。在這 J2EE 探索者 系列文章的最後一篇中,我將向您介紹 Servlet 過濾器的基礎知識 —— 比如總體的體系結構設計、實現細節,以及在 J2EE Web 應用程序中的典型應用,還會涉及一些預計最新的 Servlet 規范將會提供的擴展功能。

Servlet 過濾器是什麼?
Servlet 過濾器是小型的 Web 組件,它們攔截請求和響應,以便查看、提取或以某種方式操作正在客戶機和伺服器之間交換的數據。過濾器是通常封裝了一些功能的 Web 組件,這些功能雖然很重要,但是對於處理客戶機請求或發送響應來說不是決定性的。典型的例子包括記錄關於請求和響應的數據、處理安全協議、管理會話屬性, 等等。過濾器提供一種面向對象的模塊化機制,用以將公共任務封裝到可插入的組件中,這些組件通過一個配置文件來聲明,並動態地處理。

Servlet 過濾器中結合了許多元素,從而使得過濾器成為獨特、強大和模塊化的 Web 組件。也就是說,Servlet 過濾器是:

聲明式的:過濾器通過 Web 部署描述符(web.xml)中的 XML 標簽來聲明。這樣允許添加和刪除過濾器,而無需改動任何應用程序代碼或 JSP 頁面。

動態的:過濾器在運行時由 Servlet 容器調用來攔截和處理請求和響應。

靈活的:過濾器在 Web 處理環境中的應用很廣泛,涵蓋諸如日誌記錄和安全等許多最公共的輔助任務。過濾器還是靈活的,因為它們可用於對來自客戶機的直接調用執行預處理和後期處 理,以及處理在防火牆之後的 Web 組件之間調度的請求。最後,可以將過濾器鏈接起來以提供必需的功能。

模塊化的:通過把應用程序處理邏輯封裝到單個類文件中,過濾器從而定義了可容易地從請求/響應鏈中添加或刪除的模塊化單元。

可移植的:與 Java 平台的其他許多方面一樣,Servlet 過濾器是跨平台和跨容器可移植的,從而進一步支持了 Servler 過濾器的模塊化和可重用本質。

可重用的:歸功於過濾器實現類的模塊化設計,以及聲明式的過濾器配置方式,過濾器可以容易地跨越不同的項目和應用程序使用。

透明的:在請求/響應鏈中包括過濾器,這種設計是為了補充(而不是以任何方式替代)servlet 或 JSP 頁面提供的核心處理。因而,過濾器可以根據需要添加或刪除,而不會破壞 servlet 或 JSP 頁面。
所以 Servlet 過濾器是通過一個配置文件來靈活聲明的模塊化可重用組件。過濾器動態地處理傳入的請求和傳出的響應,並且無需修改應用程序代碼就可以透明地添加或刪除它 們。最後,過濾器獨立於任何平台或者 Servlet 容器,從而允許將它們容易地部署到任何相容的 J2EE 環境中。

在接下來的幾小節中,我們將進一步考察 Servlet 過濾器機制的總體設計,以及實現、配置和部署過濾器所涉及的步驟。我們還將探討 Servlet 過濾器的一些實際應用,最後簡要考察一下模型-視圖-控制器(MVC)體系結構中包含的 Servlet 過濾器,從而結束本文的討論。

Servlet 過濾器體系結構
正如其名稱所暗示的,Servlet 過濾器 用於攔截傳入的請求和/或傳出的響應,並監視、修改或以某種方式處理正在通過的數據流。過濾器是自包含、模塊化的組件,可以將它們添加到請求/響應鏈中, 或者在無需影響應用程序中其他 Web 組件的情況下刪除它們。過濾器僅只是改動請求和響應的運行時處理,因而不應該將它們直接嵌入 Web 應用程序框架,除非是通過 Servlet API 中良好定義的標准介面來實現。

Web 資源可以配置為沒有過濾器與之關聯(這是默認情況)、與單個過濾器關聯(這是典型情況),甚至是與一個過濾器鏈相關聯。那麼過濾器究竟做什麼呢? 像 servlet 一樣,它接受請求並響應對象。然後過濾器會檢查請求對象,並決定將該請求轉發給鏈中的下一個組件,或者中止該請求並直接向客戶機發回一個響應。如果請求被 轉發了,它將被傳遞給鏈中的下一個資源(另一個過濾器、servlet 或 JSP 頁面)。在這個請求設法通過過濾器鏈並被伺服器處理之後,一個響應將以相反的順序通過該鏈發送回去。這樣就給每個過濾器都提供了根據需要處理響應對象的機 會。

當過濾器在 Servlet 2.3 規范中首次引入時,它們只能過濾 Web 客戶機和客戶機所訪問的指定 Web 資源之間的內容。如果該資源然後將請求調度給其他 Web 資源,那就不能向幕後委託的任何請求應用過濾器。2.4 規范消除了這個限制。Servlet 過濾器現在可以應用於 J2EE Web 環境中存在請求和響應對象的任何地方。因此,Servlet 過濾器可以應用在客戶機和 servlet 之間、servlet 和 servlet 或 JSP 頁面之間,以及所包括的每個 JSP 頁面之間。這才是我所稱的強大能力和靈活性!

實現一個 Servlet 過濾器
他們說「好事多磨」。我不知道「他們」指的是誰,或者這句古老的諺語究竟有多真實,但是實現一個 Servlet 過濾器的確要經歷三個步驟。首先要編寫過濾器實現類的程序,然後要把該過濾器添加到 Web 應用程序中(通過在 Web 部署描述符 /web.xml 中聲明它),最後要把過濾器與應用程序一起打包並部署它。我們將詳細研究這其中的每個步驟。

1. 編寫實現類的程序
過濾器 API 包含 3 個簡單的介面(又是數字 3!),它們整潔地嵌套在 javax.servlet 包中。那 3 個介面分別是 Filter、FilterChain 和 FilterConfig。從編程的角度看,過濾器類將實現 Filter 介面,然後使用這個過濾器類中的 FilterChain 和 FilterConfig 介面。該過濾器類的一個引用將傳遞給 FilterChain 對象,以允許過濾器把控制權傳遞給鏈中的下一個資源。FilterConfig 對象將由容器提供給過濾器,以允許訪問該過濾器的初始化數據。

為了與我們的三步模式保持一致,過濾器必須運用三個方法,以便完全實現 Filter 介面:

init():這個方法在容器實例化過濾器時被調用,它主要設計用於使過濾器為處理做准備。該方法接受一個 FilterConfig 類型的對象作為輸入。

doFilter():與 servlet 擁有一個 service() 方法(這個方法又調用 doPost() 或者 doGet())來處理請求一樣,過濾器擁有單個用於處理請求和響應的方法——doFilter()。這個方法接受三個輸入參數:一個 ServletRequest、response 和一個 FilterChain 對象。

destroy():正如您想像的那樣,這個方法執行任何清理操作,這些操作可能需要在自動垃圾收集之前進行。展示了一個非常簡單的過濾器,它跟蹤滿足一個客戶機的 Web 請求所花的大致時間。

一個過濾器類實現
import javax.servlet.*;
import java.util.*;
import java.io.*;

public class TimeTrackFilter implements Filter {
private FilterConfig filterConfig = null;

public void init(FilterConfig filterConfig)
throws ServletException {

this.filterConfig = filterConfig;
}

public void destroy() {

this.filterConfig = null;
}

public void doFilter( ServletRequest request,
ServletResponse response, FilterChain chain )
throws IOException, ServletException {

Date startTime, endTime;
double totalTime;

startTime = new Date();

// Forward the request to the next resource in the chain
chain.doFilter(request, wrapper);

// -- Process the response -- \\

// Calculate the difference between the start time and end time
endTime = new Date();
totalTime = endTime.getTime() - startTime.getTime();
totalTime = totalTime / 1000; //Convert from milliseconds to seconds

StringWriter sw = new StringWriter();
PrintWriter writer = new PrintWriter(sw);

writer.println();
writer.println("===============");
writer.println("Total elapsed time is: " + totalTime + " seconds." );
writer.println("===============");

// Log the resulting string
writer.flush();
filterConfig.getServletContext().
log(sw.getBuffer().toString());

}
}
復制代碼
這個過濾器的生命周期很簡單,不管怎樣,我們還是研究一下它吧:

初始化
當容器第一次載入該過濾器時,init() 方法將被調用。該類在這個方法中包含了一個指向 FilterConfig 對象的引用。我們的過濾器實際上並不需要這樣做,因為其中沒有使用初始化信息,這里只是出於演示的目的。

過濾
過濾器的大多數時間都消耗在這里。doFilter() 方法被容器調用,同時傳入分別指向這個請求/響應鏈中的 ServletRequest、ServletResponse 和 FilterChain 對象的引用。然後過濾器就有機會處理請求,將處理任務傳遞給鏈中的下一個資源(通過調用 FilterChain 對象引用上的 doFilter()方法),之後在處理控制權返回該過濾器時處理響應。

析構
容器緊跟在垃圾收集之前調用 destroy() 方法,以便能夠執行任何必需的清理代碼。

2. 配置 Servlet 過濾器
過濾器通過 web.xml 文件中的兩個 XML 標簽來聲明。<filter> 標簽定義過濾器的名稱,並且聲明實現類和 init() 參數。<filter-mapping> 標簽將過濾器與 servlet 或 URL 模式相關聯。

摘自一個 web.xml 文件,它展示了如何聲明過濾器的包含關系:

在 web.xml 中聲明一個過濾器
<filter>
<filter-name>Page Request Timer</filter-name>
<filter-class>TimeTrackFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Page Request Timer</filter-name>
<servlet-name>Main Servlet</servlet-name>
</filter-mapping>
<servlet>
<servlet-name>Main Servlet</servlet-name>
<servlet-class>MainServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Main Servlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
復制代碼
上 面的代碼示例聲明了一個過濾器("Page Request Timer"),並把它映射到一個 servlet("Main Servlet")。然後為該 servlet 定義了一個映射,以便把每個請求(由通配符指定)都發送到該 servlet。這是控制器組件的典型映射聲明。您應該注意這些聲明的順序,因為千萬不能背離這些元素的順序。

3. 部署 Servlet 過濾器
事實上,與 Web 應用程序一起部署過濾器絕對不涉及任何復雜性。只需把過濾器類和其他 Web 組件類包括在一起,並像您通常所做的那樣把 web.xml 文件(連同過濾器定義和過濾器映射聲明)放進 Web 應用程序結構中,servlet 容器將處理之後的其他所有事情。

過濾器的許多應用
您在 J2EE Web 應用程序中利用過濾器的能力,僅受到您自己的創造性和應用程序設計本領的限制。在適合使用裝飾過濾器模式或者攔截器模式的任何地方,您都可以使用過濾器。過濾器的一些最普遍的應用如下:

載入:對於到達系統的所有請求,過濾器收集諸如瀏覽器類型、一天中的時間、轉發 URL 等相關信息,並對它們進行日誌記錄。

性能:過濾器在內容通過線路傳來並在到達 servlet 和 JSP 頁面之前解壓縮該內容,然後再取得響應內容,並在將響應內容發送到客戶機機器之前將它轉換為壓縮格式。

安全:過濾器處理身份驗證令牌的管理,並適當地限制安全資源的訪問,提示用戶進行身份驗證和/或將他們指引到第三方進行身份驗證。過濾器甚至能夠管理訪問 控制列表(Access Control List,ACL),以便除了身份驗證之外還提供授權機制。將安全邏輯放在過濾器中,而不是放在 servlet 或者 JSP 頁面中,這樣提供了巨大的靈活性。在開發期間,過濾器可以關閉(在 web.xml 文件中注釋掉)。在生產應用中,過濾器又可以再次啟用。此外還可以添加多個過濾器,以便根據需要提高安全、加密和不可拒絕的服務的等級。

會話處理:將 servlet 和 JSP 頁面與會話處理代碼混雜在一起可能會帶來相當大的麻煩。使用過濾器來管理會話可以讓 Web 頁面集中精力考慮內容顯示和委託處理,而不必擔心會話管理的細節。

XSLT 轉換:不管是使用移動客戶端還是使用基於 XML 的 Web 服務,無需把邏輯嵌入應用程序就在 XML 語法之間執行轉換的能力都絕對是無價的。

使過濾器適應 MVC 體系結構
模型-視圖-控制器(Model-View-Controller,MVC)體系結構是一個有效的設計,它現在已作為最重要的設計方法學,整合到了諸如 Jakarta Struts 和 Turbine 等大多數流行的 Web 應用框架中。過濾器旨在擴充 MVC 體系結構的請求/響應處理流。不管請求/響應發生在客戶機和伺服器之間,還是發生在伺服器上的其他組件之間,過濾器在處理流中的應用都是相同的。從 MVC 的觀點看,調度器組件(它或者包括在控制器組件中,或者配合控制器組件工作)把請求轉發給適當的應用程序組件以進行處理。這使得控制器層成為包括 Servlet 過濾器的最佳位置。通過把過濾器放在控制器組件本身的前面,過濾器可以應用於所有請求,或者通過將它放在控制器/調度器與模型和控制器之間,它可以應用於 單獨的 Web 組件。

MVC 體系結構廣為傳播,並具有良好的文檔。請通過 參考資料 中的鏈接了解關於 MVC 和 MVC 體系結構中的 Servlet 實現的更多信息。

結束語
雖然過濾器才出現幾年時間,但它們本身已作為一個關鍵組件嵌入到了所有敏捷的、面向對象的 J2EE Web 應用程序中。本文向您介紹了 Servlet 過濾器的使用。本文討論了過濾器的高級設計,比較了當前規范(2.4)和以前(2.3)的模型,講述了實現過濾器所涉及的精確步驟,以及如何在 Web 應用程序中聲明過濾器,然後與應用程序一起部署它。本文還闡述了 Servlet 過濾器的一些最普遍應用,並提到了過濾器如何適應傳統的 MVC 體系結構。

這是 J2EE 探索者 系列的最後一篇文章。我們在年初通過粗略研究 Enterprise JavaBean 組件來開始我們的旅程,並提到了何時使用這些組件才真正有意義,以及何時這些組件才會變得大材小用的問題。然後我們將目光轉向了 Web 層,繪制了一條通過 Servlet、JSP 頁面、JavaBean 技術以及 Java Servlet API 中的無數選擇和功能的路徑。在這個系列文章中與您一起艱苦跋涉真是一件快樂的事情。我享受著編寫這個系列文章的樂趣,並且我從大家的反饋中知道,這對您也 是一個很有價值的過程。
Java 過濾器的作用

⑧ Servlet過濾器是什麼

在 J2EE 探索者 系列文章的最後一篇中,作者 Kyle Gabhart 將向您介紹 Servlet過濾器體系結構,定義過濾器的許多應用,並指導您完成典型過濾器實現的三個步驟。他還會透露 bean 的一些激動人心的變化,預計剛發布的 Java Servlet 2.4 規范會引入這些變化。Servlet過濾器是可插入的 Web 組件,它允許我們實現 Web 應用程序中的預處理和後期處理邏輯。過濾器支持 servlet 和 JSP 頁面的基本請求處理功能,比如日誌記錄、性能、安全、會話處理、XSLT 轉換,等等。 過濾器最初是隨 Java Servlet 2.3 規范發布的,最近定稿的 2.4 規范對它進行了重大升級。在這 J2EE 探索者 系列文章的最後一篇中,我將向您介紹 Servlet過濾器的基礎知識 —— 比如總體的體系結構設計、實現細節,以及在 J2EE Web 應用程序中的典型應用,還會涉及一些預計最新的 Servlet 規范將會提供的擴展功能。? Servlet過濾器是小型的 Web 組件,它們攔截請求和響應,以便查看、提取或以某種方式操作正在客戶機和伺服器之間交換的數據。過濾器是通常封裝了一些功能的 Web 組件,這些功能雖然很重要,但是對於處理客戶機請求或發送響應來說不是決定性的。典型的例子包括記錄關於請求和響應的數據、處理安全協議、管理會話屬性,等等。過濾器提供一種面向對象的模塊化機制,用以將公共任務封裝到可插入的組件中,這些組件通過一個配置文件來聲明,並動態地處理。Servlet過濾器中結合了許多元素,從而使得過濾器成為獨特、強大和模塊化的 Web 組件。也就是說,Servlet過濾器是:聲明式的:過濾器通過 Web 部署描述符(web.xml)中的 XML 標簽來聲明。這樣允許添加和刪除過濾器,而無需改動任何應用程序代碼或 JSP 頁面。動態的:過濾器在運行時由 Servlet 容器調用來攔截和處理請求和響應。靈活的:過濾器在 Web 處理環境中的應用很廣泛,涵蓋諸如日誌記錄和安全等許多最公共的輔助任務。過濾器還是靈活的,因為它們可用於對來自客戶機的直接調用執行預處理和後期處理,以及處理在防火牆之後的 Web 組件之間調度的請求。最後,可以將過濾器鏈接起來以提供必需的功能。模塊化的:通過把應用程序處理邏輯封裝到單個類文件中,過濾器從而定義了可容易地從請求/響應鏈中添加或刪除的模塊化單元。可移植的:與 Java 平台的其他許多方面一樣,Servlet過濾器是跨平台和跨容器可移植的,從而進一步支持了 Servler 過濾器的模塊化和可重用本質。可重用的:歸功於過濾器實現類的模塊化設計,以及聲明式的過濾器配置方式,過濾器可以容易地跨越不同的項目和應用程序使用。透明的:在請求/響應鏈中包括過濾器,這種設計是為了補充(而不是以任何方式替代)servlet 或 JSP 頁面提供的核心處理。因而,過濾器可以根據需要添加或刪除,而不會破壞 servlet 或 JSP 頁面。所以Servlet過濾器是通過一個配置文件來靈活聲明的模塊化可重用組件。過濾器動態地處理傳入的請求和傳出的響應,並且無需修改應用程序代碼就可以透明地添加或刪除它們。最後,過濾器獨立於任何平台或者 Servlet 容器,從而允許將它們容易地部署到任何相容的 J2EE 環境中。在接下來的幾小節中,我們將進一步考察 Servlet過濾器機制的總體設計,以及實現、配置和部署過濾器所涉及的步驟。我們還將探討 Servlet過濾器的一些實際應用,最後簡要考察一下模型-視圖-控制器(MVC)體系結構中包含的 Servlet過濾器,從而結束本文的討論。Servlet過濾器體系結構 正如其名稱所暗示的,Servlet過濾器 用於攔截傳入的請求和/或傳出的響應,並監視、修改或以某種方式處理正在通過的數據流。過濾器是自包含、模塊化的組件,可以將它們添加到請求/響應鏈中,或者在無需影響應用程序中其他 Web 組件的情況下刪除它們。過濾器僅只是改動請求和響應的運行時處理,因而不應該將它們直接嵌入 Web 應用程序框架,除非是通過 Servlet API 中良好定義的標准介面來實現。Web 資源可以配置為沒有過濾器與之關聯(這是默認情況)、與單個過濾器關聯(這是典型情況),甚至是與一個過濾器鏈相關聯。那麼過濾器究竟做什麼呢? 像 servlet 一樣,它接受請求並響應對象。然後過濾器會檢查請求對象,並決定將該請求轉發給鏈中的下一個組件,或者中止該請求並直接向客戶機發回一個響應。如果請求被轉發了,它將被傳遞給鏈中的下一個資源(另一個過濾器、servlet 或 JSP 頁面)。在這個請求設法通過過濾器鏈並被伺服器處理之後,一個響應將以相反的順序通過該鏈發送回去。這樣就給每個過濾器都提供了根據需要處理響應對象的機會。當過濾器在 Servlet 2.3 規范中首次引入時,它們只能過濾 Web 客戶機和客戶機所訪問的指定 Web 資源之間的內容。如果該資源然後將請求調度給其他 Web 資源,那就不能向幕後委託的任何請求應用過濾器。2.4 規范消除了這個限制。Servlet過濾器現在可以應用於 J2EE Web 環境中存在請求和響應對象的任何地方。因此,Servlet過濾器可以應用在客戶機和 servlet 之間、servlet 和 servlet 或 JSP 頁面之間,以及所包括的每個 JSP 頁面之間。這才是我所稱的強大能力和靈活性!實現一個 Servlet過濾器 他們說「好事多磨」。我不知道「他們」指的是誰,或者這句古老的諺語究竟有多真實,但是實現一個 Servlet過濾器的確要經歷三個步驟。

⑨ 哪個文章採集軟體比較好

Evernote,Database,還有微軟的OneNote,都很好用的,網上也很容易就能搜到。Evernote需要聯網注冊才能用,Database破解版的很好使。
下面是有關幾款知識管理文章的文章。

通過上一篇《尋找最好的筆記軟體:海選篇》的綜合分析,作者發現有3種軟體具有較明顯的優勢,可謂「筆記軟體三強」。它們是:EverNote、Mybase 和 Surfulater。此三者相同之間差異較大,但都是各自風格門派的最強者。如何三選一,並不取決於它們誰「更強大」,而是取決於你是一個什麼樣的用戶,或你有什麼樣的需求。

EverNote
[圖片]
假如,你需要一個便利的地方來存放筆記,用不著太多組織功能和多餘功能,那麼,EverNote就是最適合你的。你可以這樣理解,EverNote就是無限長的一卷紙,上面記錄了你的所有筆記,其唯一的排列順序是依據時間。每條筆記甚至連標題都沒有——而在其他筆記軟體中這是無須考慮的原則。聽起來這很不方便,我怎麼能找到以前的筆記呢?作為一個優秀軟體,EverNote完美解決了你的擔心,你在使用時沒有任何不便,根本不會意識到這是個問題。
解決之道,也就是筆記定位/過濾的方法,共有2個:分類,實時搜索。分類功能如圖所示,可以手工,或按自動規則將筆記分類。
[圖片]
分類可以排成一個樹狀結構,但這與其他同類程序的樹狀結構也不相同。因為一條筆記可以分入多個分類。再一個筆記定位辦法是用實時搜索框。這一功能,在 EverNote中實現得如此完美,是我至今見過所有軟體中最好用的,並且速度飛快。隨著你鍵入每個字母,下面會動態顯示出所有符合的筆記。不僅如此,所有被匹配的單詞都高亮顯示。
[圖片]
如前文所述,所有筆記排成一列縱隊。如果要上下翻動,你可以點擊右側的滾動框,滾動速度取決於你點擊的位置。或者,你使用右邊的「時間條」功能。它相當於一個縱向排開的日歷,你只需點擊某個日期,就能顯示相關筆記。日期旁邊如果有√顯示,說明此日期中有筆記。我想,利用這一功能來做電子日記實在是方便。
Evernote還能方便地抓取任何內容,尤其重要的是,各種網頁內容。准確講,在三巨頭之中,它抓取網頁內容的能力最為強大。它不僅抓取范圍很准確,並且內容進入Evernote後,完全象一則筆記,而不是還象網頁:滑鼠變成小手,單擊會進入鏈接。在 EverNote中,如果你要訪問鏈接,需要雙擊才行。我從未對網頁點擊風格侵入軟體界面有過好感。還記得Windows為操作系統界面引入單擊模式嗎?用起來很不習慣,所以,我是每次必關。順便說一下,Mybase 和 Surfulater都是單擊模式。Mybase這樣做是因為它用了IE引擎來展示網頁;Surfulater這樣做是因為它的界面從頭到尾就是網頁風格。
編輯方面它還存在一些不足。要想對某條筆記真正做一些格工編排、文字組織,你需要進到全屏模式。這時,本條筆記單獨顯示在大窗口,並帶有rtf標準的工具欄,以便於編輯。而在常規窗口中,編輯按鈕幾乎沒有。你要麼進全屏模式,要麼右鍵菜單。再有,圖片縮放功能也比較怪。
[圖片]
總起來看,Evernote是那類「隨手而記,隨心而查」軟體中做得最好的。它最大的優點在於一流的實時搜索功能、強大的web內容抓取功能。其不足則是對筆記的組織、編輯功能較弱。

Mybase
[圖片]
如果一個用戶需要盡可能多的工具/功能來處理筆記,Mybase就是首選。在我看來,Mybase是進化為現代風格的 Keynote。它們兩者,無論在視覺還是感覺上都頗有類似。其界面精簡而高效,通過多tab、多面板有效擴展了其功能,具備處理筆記的多項工具。我用 Keynote 很長時間,再過渡到 Mybase 非常順利。(補充一下,KeyNote 在處理筆記方面也是功能極豐富的)。
Mybase組織筆記的形式也是最簡單的樹狀結構,這也是大多數同類軟體的標准思路。也就是說,在這方面,Mybase不求個性,而保持共性。到了最新的 v5版,Mybase增加了標簽功能——有點象Evernote的分類,或其他軟體的關鍵詞。它在分類樹基礎上,提供了額外一種組織維度。但其效果比起致力於此的工具(如Zoot、Evernote)尚有差距。當然了,最好的一點是,Mybase是能同時採取樹、標簽兩項功能的軟體之一(如果不是唯一的話)。這正是Mybase的風格和優勢:最多功能與選項,最大的可定製性。為了讓你對它的功能有最直觀了解,下圖展示了它各項菜單全部展開後的情形:
[圖片]
我們說過,Mybase用了很多面板,因此展示筆記信息的桌面空間就比較小。這與某些軟體形成了對比。如Surfulater,它採用超鏈接、網頁風格的功能來處理參考文獻、鏈接、附件等。而在Mybase中,用主界面下的單獨的子窗口/面板來分別展現這些元素:結構樹、筆記主體、搜索結果、附件列表、到其他筆記的鏈接。這種做法,讓有些人感到不適,但另一些用戶可能會很欣賞這種分離的做法——我就是其一。對一些通用性較高的面板,如附件、到其他筆記的鏈接,可以通過選項來設為自動顯示:如果筆記有附件或外向鏈接,則顯示;如果沒有,則隱藏這些面板。這時靈活應變的設置很實用,可以最大限度保留桌面空間。
[圖片]
Mybase對Firefox或IE也可以抓取網頁內容,但還達不到Evernote 或 Surfulater水平。首先,抓取內容並不象另兩款軟體那樣視為普通筆記。讓我解釋一下,對每條筆記,Mybase都有「文本筆記」和「網頁」兩個標簽。如果是抓取的網頁內容,Mybase自動切到網頁標簽。而對於其他類型的筆記,無論是粘貼進來還是手工輸入的,都是在「文本筆記」標簽下。
[圖片]
附:Mybase開發者補充: myBase 中所有內容均保存為節點的附件文件,所謂筆記 (note) 也是保存為一個附件文件,只是被命名為帶 .RTF 擴展名的特殊項,一般不會顯示出來,而且其他內容,如抓取的網頁,則直接保存為附件,在附件列表中可以看到網頁中的HTML/JS/樣式/圖片等元素。因此,輸入內容與抓取的網頁內容一般是分開顯示的;這樣設計給系統擴展帶來極大的便利性、靈活性與統一性。實際上,如果需要將 note 寫入網頁中,可以在網頁中按 F2 或選擇 Edit -> Toggle Edit Mode 菜單項,即可直接輸入或編輯網頁內容,這樣筆記就可以和抓取的網頁顯示在同一頁上了。
這樣處理的結果就是,你不能把筆記與網頁合在一起。基於此點,我認為Evernote和Surfulater的抓取功能更勝一籌。再有一點美中不足的是,Mybase採用IE而非內置的web引擎來展現抓取的網頁內容。因此,當你切換到網頁標簽時,程序會調用IE而有一個瞬間的停頓。當然,這一問題並不嚴重,只是不如另外的軟體那樣平滑集成。
附:Mybase開發者補充:目前絕大多數軟體都是嵌入IE來顯示網頁,所不同的是有些軟體一啟動就裝入了IE瀏覽器,而myBase只在需要瀏覽網頁時才調入IE,因此首次查看網頁時有一點停頓,此後就會非常平滑,這樣做的目的是為了盡量減少內存和系統資源佔用。

Mybase V5也開發了實時搜索功能。這是一項有價值的功能,用起來的效果也不錯。當然,它還比不上Evernote的水平,但至少是可用的。再強調一次,這正是 Mybase的比較優勢:雖不是每項功能都做到了所有軟體中這方面的最高水平,但至少讓用戶在一個軟體中,擁有了這么多功能。
[圖片]

附:Mybase開發者補充:在最新的myBase v5.3中專門重寫了索引模塊及搜索技術,加入了可調大小的高速緩存技術,提供了相當高的索引性能,同時支持增量索引、大數據量索引、即時搜索及布爾條件 (AND/OR/NOT),對常見的WORD/EXCEL/HTML/PPT/EMAI/TEXT/RTF等多種文檔都提供了預置的索引與搜索支持,還可以通過安裝第三方過濾器實現更多的文檔格式的識別,比如 PDF 文檔,此外,myBase還特別地提供了一定的中文搜索支持(但還不完善),總的來說我們當前開發的索引技術已經遠遠超過其他幾家,可以用稍大一些的數據作一些測試,比如100MB以上的可索引數據,就可以看出我們付出了相對多的努力來改進這項技術,當然也還需要進一步改進。

Mybase還提供了一些擴展的組織功能。它可以條目鏈接,從而讓多個筆記之間互為參考。也可以符號鏈接,從而讓用戶在結構樹上點擊筆記A時,直接進入它鏈接到的筆記B,就象一個快捷方式一樣。我還不能充分理解這一功能的作用,但還是那句話,有比無好。(譯者註:應該是用於一條筆記進入多個樹狀分支吧,等同於Evernote的一條筆記進入多個分類)然後,它還能自定義標簽(label),就象筆記的關鍵詞一樣(譯者註:更准確講,是tag),當你點擊關鍵詞時,Mybase會列出歸入此關鍵詞的所有筆記。就象我所說的,它為組織筆記提供了一個新維度。
正如你所見的,Mybase是此類軟體中最靈活、功能最豐富的一個。其他軟體與Mybase相比,或許更具有創新性,或許在某些方面更強大,但沒有一個能同時擁有Mybase這樣多的筆記處理功能。再次重申一下,以前用KeyNote的用戶,可以平滑過渡到Mybase。正因如此,我現在已經開始用 Mybase來作為當前處理筆記的工具。然後,根據情況最終決定用哪款軟體。

Surfulater
[圖片]
Surfulater的初衷是作為網頁抓取和文獻管理工具,然後——也是順理成章地——進入了筆記軟體行列。由於這一歷史原因,它在界面上與其他筆記軟體有很大差異。也就是說,本專題涉及的其他軟體從開始就是以筆記為核心功能進行開發,而筆記只是Surfulater功能之一,並且不是最初的主導功能。
Surfulater作為一種內容抓取(網頁抓取只是其中一方面)和文獻管理工具,在這方面做得比誰都好。如果要便捷強大的鏈接、文獻管理,並收錄資料,則最適合選擇Surfulater。下面這個場景可作為對Surfulater的最佳描述:你就某一專題在互聯網上搜資料,然後找到一個網頁,正是你所需要的資料,並且有很多到相關站點的鏈接。這就是Surfulater軟體要做的,並且非常輕松。你可以把各種信息全部收進來,拖拖拽拽,把資料、鏈接、附件放在一起,不一會兒,你就可以得到一個完整的信息系統,並且具有格式優良的web展示頁面、鏈接,凡你所需,皆在此中。
Surfulater的最大強項在於重復性工作的自動完成。在抓取一個網頁後,Surfulater會自動填入標題、描述、到原出處的鏈接、抓取日期。它甚至會為原始網頁創建一個縮略圖。用戶可以把其他筆記拖到當前筆記上,建立快速參考。這一操作同樣適用於附件。如同 Evernote一樣,全部筆記也是前前後後,排成一長列。但是,它的隊列線索不象Evernote一樣,僅局限於時間,所以要靈活得多。
最讓我感興趣的,是Surfulater的結構樹。初看起來,它中規中矩,並無突出之處。但實際上,它擁有目前全部軟體中最好的後台引擎。它實際上是一種虛擬的樹狀結構,可以按不同選項進行配置。筆記可以按用戶需求按樹狀展示,但是也可以象Evernote一樣按時間順序排列。你還可以讓結構樹不展開末級分支,這樣,結構樹只展示目錄,而不展示筆記條目。重要的一條消息是,開發者提過,在新版本中會允許用戶自定義樹結構,這意味著一條筆記有可能進入多個分類。
[圖片]
還有一個突出的功能是,Surfulater可以克隆筆記項目。初看起來,它的效果與復制相同。但實際上,它們差別很大。克隆後的副本實際是一種鏡像:不重復佔用存儲空間,但可以邏輯上放在另外一個類別中,並且相互之間實時一致。比如,修改其中的任一個,其他克隆副本會同時更新。最後,一個出色功能是把搜索結果作為一個虛擬的結構樹分支,列在樹結構的最後面。用戶可以在搜索結果中進行瀏覽、滾動,和正常的樹、筆記完全一樣。當然,命中的關鍵詞也象 Evernote一樣高亮顯示。對於搜索結果,Evernote也匯集在一起縱向排列,但我認為建立一個列表,可以更方便用戶查閱。
[圖片]
接下來是一個小功能,即設定筆記或分支節點的圖標,Surfulater在這方面做得非常棒,其他軟體與之相比,無不相形見絀。用戶只須右鍵點擊圖標,然後就會彈出一個小窗口,展示出所有可用的圖標,想選哪個,點擊即可。(注1)
[圖片]
接下來,我們說一下Surfulater作為一個筆記軟體的不足之處,這些不足的最主要原因就是因為Surfulater的初衷並不是用來做筆記。如果你要編輯筆記,在絕大多數的筆記軟體中,只要點擊這一筆記,開始輸入文字即可。但是到了Surfulater這里,此路不通。你必須要在編輯模式與常規模式間手工切換——這經常令新手無所適從。進入編輯模式的一個辦法是,滑鼠點住某個輸入框持續幾秒鍾,也就是說,不象一般軟體那樣點擊,而是長按。還有一種進入編輯模式的辦法,就是點擊每一內容旁邊的鉛筆圖標。值得慶幸的是,作者意識到了這一問題,已經做了改進,並承諾在將來做出進一步的提高。但是,我仍然堅持這樣一個原則:筆記軟體應當默認處於可編輯狀態,只要用戶想做編輯,就能馬上進行,不能有任何形式和原因的延緩。
再一個不足之處是,Surfulater中找不到一個空白的地方直接做筆記。Surfulater中任何文章(也就是筆記)都基於事先定義好的模板。這些模板有頭信息,用於保存標題、注釋、評級、參照……。這些功能對於學術研究而言,非常有利於管理和組織;而對於普通用戶,尤其是只想隨手記點東西時,則是一個極不方便的限制。現在能做的是,選一個「筆記模板」,它只有一個頭信息,就是「筆記」,主體部分就是完全空白,用戶就在這里做筆記。如下圖:
[圖片]
Surfulater要成為一個真正的筆記工具,其底線就是在上述兩方面做出改進:提供一個編輯模式默認開或關的選項,提供一個完全空白的筆記區域。准確地講,在這些方面,Surfulater必須向標準的——也是實踐證明最有效的——筆記軟體風格靠攏。
總起來看,Surfulater功能豐富而風格獨特,最適於大量筆記的引用、導航與抓取。從我的了解和判斷來看,律師、學者可能會非常欣賞它。原因嘛,想想它與眾不同的功能就會明白。如下的場景也可說明哪些人最適合它:如果你現在正使用Evernote,卻發現它在組織管理方面還不夠強,那你轉向 Surfulater就是明智的選擇。或者你正在使用任何其他基於最基本的樹狀結構的筆記軟體,而感到處理鏈接、引用方面力不所心,那也可以轉向 Surfulater。

三強功能對比表
上面逐一論述了三強筆記軟體的優劣,相信各位讀者已經有所認識。如果還嫌不清晰,請看下錶。俗話說,不怕不識貨,就怕貨比貨。這一表格並沒有涵蓋所有功能,但還是能提供不少幫助的。
筆記三強功能對比表

EverNote Mybase Surfulater
同時打開多個資料庫 √ √
實時搜索(輸入的同時即開始搜索) √ √

基本樹結構 √ √
標簽/分類 √ √
滾動展示 √ √
加密 √ √
鏈接到其他筆記 √ √
按時間順序展示 √ 注2 √
超強的導入/導出功能 √
收藏夾 √
筆記克隆 注3 √
web界面導航(單擊式) √
筆記編輯
標準的RTF功能 √ √ √
超鏈接方式展現附件、鏈接 √ √
單獨面板方式展現附件、鏈接 √
自定義的文本模板 √
自定義的 xml 模板 √
表格 注4
鎖定筆記防修改 √ 注5
筆記標題 √ √
頁面抓取
可抓取更多內容(圖片、文本) √ √ √
抓取內容可編輯 √ √ √
筆記與抓取內容可同時顯示 √ 注6 √
用內置引擎展現抓取內容 √ 注7 √
用已安裝的瀏覽器(IE)展現抓取內容 √

至此,三強篇正文部分結束,下面的附註是xbeta徵求Mybase開發者時,所得到的補充。

注 1:Mybase開發者補充:原作者好象沒有注意到 myBase 中的強大圖標功能,與其他幾個程序不同, myBase的圖標是開放式的,而且是 per database 的實現,也就是說每個DB都可以由用戶自行添加任何多的用戶自己喜愛的圖標,myBase 本身預定義有一套預設的圖標,同時隨安裝包還提供了一組網上採集的圖標,可以方便的引入到任何.nyf庫中,並提供了成批為樹節點指定/替換圖標的工具。不過,需要注意的是,新建的空白.nyf庫不會自動引入任何圖標,所以初次打開圖標框是空的,這時用戶可以根據需要引入自己喜愛的圖標進入,稍後即可方便指定圖標了。

注2:Mybase開發者補充:myBase 有一個 seekbytime 插件,可以按修改時間列出項目,同時內置的高級搜索也提供了按時間段搜索,間接實現了按時序展示,而且可以方便的逆排序。

注3:Mybase開發者補充:在 myBase 復雜筆記,即使復雜分枝中所有筆記也都很簡單,Ctrl+拖放,或者 Copy/Paste,而且分枝可以在不同的庫之間復制。

注4:Mybase開發者補充:myBase 5.x 目前只實現了簡單的RTF表格,僅僅好於沒有。

注5:Mybase開發者補充:myBase 有隻讀打開模式,按只讀方式打開後,只能查看,不可編輯。按住 Ctrl 選擇 Reopen 項即可切換打開模式。

注6:Mybase開發者補充:是否同時顯示,取決於是否將筆記寫入網頁中,在網頁中按F2即可進入編輯狀態,在網頁中添加自己的注釋內容。

注7:Mybase開發者補充:基本都是調用IE展取網頁內容,與其他幾家不同的是, myBase 只在需要展顯網頁時才調入IE,這樣確保不浪費太多系統資源。

熱點內容
丁度巴拉斯情人電影推薦 發布:2024-08-19 09:13:07 瀏覽:886
類似深水的露點電影 發布:2024-08-19 09:10:12 瀏覽:80
《消失的眼角膜》2電影 發布:2024-08-19 08:34:43 瀏覽:878
私人影院什麼電影好看 發布:2024-08-19 08:33:32 瀏覽:593
干 B 發布:2024-08-19 08:30:21 瀏覽:910
夜晚看片網站 發布:2024-08-19 08:20:59 瀏覽:440
台灣男同電影《越界》 發布:2024-08-19 08:04:35 瀏覽:290
看電影選座位追女孩 發布:2024-08-19 07:54:42 瀏覽:975
日本a級愛情 發布:2024-08-19 07:30:38 瀏覽:832
生活中的瑪麗類似電影 發布:2024-08-19 07:26:46 瀏覽:239