DispatcherServiceletとは?
5438 ワード
DistpatcherServlet?
Spring MVCの重要な要素であるDispatcherServiceletについて説明します.
この文章は総括的な文章で、実際にはもっと複雑で、プロセスの処理があります.
DispatcherServiceletもサーブレットであり、HttpServiceletを継承します.
「表示レイヤ」(Presentation Layer)では、HTTPプロトコルからの要求を受信し、適切なコントローラに要求を委任するFront Controlと言える.
このように、Webはサーブレットコンテナの先頭からサーバにアクセスするクライアントのすべての要求を受信し、処理する.xmlの役割を大幅に減らしました.
元々はラーメンネット各コントローラはxmlに登録する必要があります.
DispatcherServiceletは、すべてのリクエストを受信し、各コントローラのフロントエンドコントローラに詳細なパスを送信します.xmlにタブレットを1つずつ登録する必要はありません.
上の図を見て動作の流れを見てみましょうか?
①DispatcherServiceletクライアントからWebリクエストを受信します.
②WebリクエストをHandleMappingに依頼し、そのリクエストを処理するHandler(Controller)を探す.
③見つかったHandlerを実行できるHandler Adapterを探します.
④,⑤見つかったHandler Adapterを用いてHandlerメソッドを実行する.このとき,Handlerの戻り値はModelとViewである.
⑥ビュー名をViewResolverに渡し、ViewResolverは対応するビューオブジェクトを返します.
üDispatcherServiceletモデルをViewに渡し、表示を要求します.モデルがnullの場合はViewを使用します.逆に、値がある場合は、モデルデータをビューでレンダリングします.
◇最終DispatcherServiceletは、ビュー結果(HttpServiceResponse)をクライアントに返します.
プロセスは複雑に見えますが.
最終的には、DispatcherServiceletによって適切なコントローラが見つかり、要求を処理し、結果を受信します.
この点はとても簡単です.
設定方法
例>
<web-app>
<servlet>
<servlet-name>example</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>example</servlet-name>
<url-pattern>*.form</url-pattern>
</servlet-mapping>
</web-app>
@WebServlet(name = "helloServlet", urlPatterns = "/hello")
public class HelloServlet extends DispatcherServlet {}
Reference
死刑囚開発者ブログ
装飾可能
seculoper velog
Reference
この問題について(DispatcherServiceletとは?), 我々は、より多くの情報をここで見つけました https://velog.io/@jjd/DispatcherServlet이란テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol