DispatcherServlet學習筆記

2021-08-09 11:38:08 字數 1237 閱讀 6339

chapter2

org.springframework.web.servlet.dispatcherservlet

1/

dispatcherservlet主要用作職責排程工作,本身主要用於控制流程,主要職責如下:

1、檔案上傳解析,如果請求型別是multipart將通過multipartresolver進行檔案上傳解析;

3、通過handleradapter支援多種型別的處理器(handlerexecutionchain中的處理器);

4、通過viewresolver解析邏輯檢視名到具體檢視實現;

5、本地化解析;

6、渲染具體的檢視等;

7、如果執行過程中遇到異常將交給handlerexceptionresolver來解析。

所以如果指定了/目錄就會攔截所以請求,當作一種視**析。如你訪問/ta.html 就會被攔截請求,內部可能是預設能解析.jsp,所以能直接解析。

如果要能訪問.html,有幾種方式

1、就要配置預設的servlte攔截

交給預設的伺服器容器如tomcat的servlte處理

再web.xml中加入

default

*.html

2、spring-mvc中加入

把一些請求不到的資源,交給預設的servlte處理

在springmvc-servlet.xml中配置後,會在spring mvc上下文中定義乙個org.springframework.web.servlet.resource.defaultservlethttprequesthandler,它會像乙個檢查員,對進入dispatcherservlet的url進行篩查,如果發現是靜態資源的請求,就將該請求轉由web應用伺服器預設的servlet處理,如果不是靜態資源的請求,才由dispatcherservlet繼續處理。

一般web應用伺服器預設的servlet名稱是"default",因此defaultservlethttprequesthandler可以找到它。如果你所有的web應用伺服器的預設servlet名稱不是"default",則需要通過default-servlet-name屬性顯示指定:

3、配置

對於web-inf目錄的檔案是不能直接訪問的,都要通過controller,然後經過視**析器如internalresourceviewresolver

參考

DispatcherServlet邏輯處理

迴圈所有的handleradaoter通過supports判斷適合的handler,得到合適的handleradapter handleradapter ha gethandleradapter gethandler process last modified header,if supported...

DispatcherServlet的原始碼和流程分析

1 自動配置dispatcherservlet和dispatcherservletregistry 2 註冊dispatcherservlet到servletcontext 3 初始化mvc的元件 handler執行完成後,向dispatcherservlet 返回乙個modelandview物件 ...

C Primer Chapter One學習筆記

筆記 1.流 從io裝置上讀入或寫出的字串行,用來說明字元隨時間順序生成或消耗。2.輸入輸出符可連用原因 operator 或operator 返回stream物件。3.要測試程式那個語句出錯,使用cout 4.新建乙個內建型別,如int i 0 最好先初始化,不然用到的時候沒初始化會產生奇怪的錯誤...