SpringMVCに対するいくつかの誤解


引用する
期末试験が终わったばかりだから、もう试験はいらないよ.
最近、慕課網の実戦授業「手書きSpringMVC、剣指開源フレームワーク魂」を学んだ.spring-bootはインテリジェントすぎて、インテリジェントは私たちが底層がどのように実現されているかを完全に管理する必要がなくて、簡単にwebアプリケーションを開発することができます.
最近、この課程と「Spring MVCを見抜く」を結びつけて勉強して、利益が大きいと感じて、同時に、私の前のSpringMVCに対するいくつかの誤解を正しました.
誤解する
洪水時代のJava Webその年、Java Webの開発には手動でServletを実現する必要があった.
public class TestServlet implements Servlet {
    @Override
    public void init(ServletConfig config) throws ServletException {

    }

    @Override
    public ServletConfig getServletConfig() {
        return null;
    }

    @Override
    public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {

    }

    @Override
    public String getServletInfo() {
        return null;
    }

    @Override
    public void destroy() {

    }
}
Servletには5つの方法が規定されている.init初期化方法、serviceトラフィックロジック方法、destroy破棄方法.web.xmlファイルでは、Servletへのルーティングのマッピングが構成されています.つまり、インタフェースを開発していません.Servletと書いて、xmlを配置する必要があります.


    test
    TestServlet


    test
    /test

そのため、プロジェクトにはServletと、極めて冗長なxmlのプロファイルがたくさんあります.
プロセスの実行
全体の実行プロセスは、次の図のようになります.
要求が来ると、クライアントはサービス側のTomcatと接続を確立し、Tomcatweb.xmlを探しに行き、定義されたurlからServletへのマッピングに従って、対応するServletを初期化し、serviceメソッドを呼び出してトラフィックを処理し、戻る.
最初はSpringMVCのマルチスレッドについてよく理解していませんでしたが、マルチスレッドは実はSpringMVCが管理しているわけではありません.新しいクライアントが接続を確立すると、TomcatServletの方法処理要求を呼び出すために新しいスレッドを作成するので、マルチスレッドは実はTomcatのマルチスレッドです.
SpringMVC SpringMVCは、Servletの多くの問題を解決するために、DispatcherServletを導入し、統一的なスケジューリングを行う.SpringMVCは、DispatcherServlet/を引き継ぐことを定義し、すなわち、すべての要求を内部的に各HandlerMappingに配布し、一般的にはコントローラ内の方法である.
まとめ
本を読むのが好きで、あまり理解しない.---晋・陶淵明『五柳先生伝』
開発をするには,あまり理解しなければならない.