亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Servlet與過濾器

Servlet與過濾器

一只斗牛犬 2019-11-12 09:58:29
Servlet和Filter有什么區別?您建議使用什么來授權頁面?
查看完整描述

3 回答

?
白豬掌柜的

TA貢獻1893條經驗 獲得超10個贊

Filter當您要根據特定條件過濾和/或修改請求時,請使用。使用Servlet時要控制,預處理和/或后處理請求。


在Java EE的教程中提到有關篩選如下:


過濾器是可以轉換請求或響應的標頭和內容(或兩者)的對象。過濾器與Web組件的不同之處在于,過濾器本身通常不會創建響應。相反,過濾器提供的功能可以“附加”到任何種類的Web資源。因此,過濾器不應依賴于其充當過濾器的Web資源。這樣,它可以由多種類型的Web資源組成。


過濾器可以執行的主要任務如下:


查詢請求并采取相應措施。

阻止請求和響應對進一步傳遞。

修改請求標頭和數據。您可以通過提供請求的自定義版本來實現。

修改響應頭和數據。您可以通過提供響應的自定義版本來執行此操作。

與外部資源進行交互。

對于授權,a Filter是最合適的。這是過濾器如何檢查登錄用戶請求的基本啟動示例:


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

    if (((HttpServletRequest) request).getSession().getAttribute("user") == null) {

        // User is not logged in. Redirect to login page.

        ((HttpServletResponse) response).sendRedirect("login");

    } else {

        // User is logged in. Just continue with request.

        chain.doFilter(request, response);

    }

}


查看完整回答
反對 回復 2019-11-12
?
慕田峪4524236

TA貢獻1875條經驗 獲得超5個贊

篩選器最適合授權。這是因為可以將它們配置為在站點的所有頁面上運行。因此,您只需要一個過濾器即可保護所有頁面。


查看完整回答
反對 回復 2019-11-12
?
一只甜甜圈

TA貢獻1836條經驗 獲得超5個贊

使用過濾器可以提高Servlet的性能-當請求到來時,我們可以根據請求執行預處理,如果請求滿足,則可以轉發到servlet,否則向消息提供消息給客戶端,以在請求中提供適當的信息。


查看完整回答
反對 回復 2019-11-12
  • 3 回答
  • 0 關注
  • 392 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號