servlet和過濾器的URL對映位址怎麼確定的?

時間 2021-06-02 00:13:38

1樓:Aetherus

其實URL寫什麼都行,servlet框架根本不關心。關鍵是對應的servlet類或filter類是啥一定要寫對。

Servlet配置裡的URL模式只支援三種,而且不能在同乙個裡混合使用:

完整路徑。例如 /foo/bar

字首。例如 /foo/* 表示以 /foo 開頭的所有URL路徑

副檔名。例如 *.foo 表示以.foo結尾的所有URL路徑

由於不能混合使用,所以 /foo/*.bar 這樣的是不合法的。

URL設計套路

隱藏技術棧。正常使用者不關心你的技術棧,關心你技術棧的使用者都不是好人,所以像 *.jsp 這種設計就不好。

副檔名表示響應格式。這個可以用來做「內容協商」(content negotiation),比如當使用者訪問 /foo.html 時給他HTML頁面,訪問 /foo.

json 時給他JSON資料。

隱藏實現細節。比如 /product-controller/list 這種明顯告訴別人我用MVC設計的URL就不好。正常使用者都不關心這個,還增加了搜尋引擎false positive的可能。

/product/list 就是個不錯的設計。

全小寫,用中劃線分割單詞。這是為了搜尋引擎優化(SEO),因為駝峰的拼寫要把它拆成單詞比較困難,下劃線好一些,中劃線是最容易拆分的(學過正規表示式的都知道)。越容易拆分則搜尋引擎命中URL中任何乙個單詞的可能性就越高,於是你的網頁就越容易被搜尋到。

例如 /product/bestSellers 就不好,而 /product/best-sellers就比較好。

對於某種資源(比如知乎上的問題)的獲取詳情,URL路徑裡最好把標題或名稱帶上。這當然也是為了SEO。比如 /question/448482321 就不好(可惜知乎就是這麼用的),而 /question/448482321-servlet和過濾器的URL對映位址怎麼確定的?

就比較好。(當然實際URL裡中文需要轉義)

前置過濾器安不安?

天津淨水服務商 自來水中的雜質太多了,還是建議安裝乙個比較好,會給你家的用水帶來很大的好處,也沒多少錢,幾百塊錢就能搞定,而且是非常好的產品,後期也不需要維護的費用,時間久太髒了,自己也可以動手清洗,非常的方便 小城市詹姆士 如果水裡肉眼可見的大塊顆粒多,還是加乙個。如果比較少,不至於導致濾芯過快堵...

有沒有能過濾熱水的前置過濾器?

虎鯨媽媽 前置過濾器都有溫度要求的,一般不超過40 有的最高水溫不超過50 水溫過高對過濾器有影響,通常用常溫水。前置是安裝在進水總閥處,或者水表旁邊,管道井,廚下的,管全屋過濾或廚房過濾。 Jerome 淨水器是不能過濾熱水的,會把濾芯燙壞,如果是三十多度的溫水還可以,超過60 C就不能用淨水器過...

Bloom filter(布隆過濾器)和普通hash表對於碰撞和儲存空間的不同?

若羽 布隆過濾器會讓鍵值在集合中的流元素通過,同時阻擋不在s中的流元素,s的大小為m。集合設定鍵值k,雜湊函式h1,h2,hk。一共k個函式,每個函式對應標籤為1。只會雜湊函式命中情況下,才讓流元素通過,不然就被過濾掉。 luikore 原理是 把雜湊值 n 對映到 2 n,那麼做邏輯或就很少會碰撞...