SpringMVC構造
プロジェクトのロード構造
このファイルのweb.xmlはTomcatドライバに関する設定で、残りのファイルはスプリングに関する設定です.
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee https://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<!-- The definition of the Root Spring Container shared by all Servlets and Filters -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/root-context.xml</param-value>
</context-param>
<!-- Creates the Spring Container shared by all Servlets and Filters -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- Processes application requests -->
<servlet>
<servlet-name>appServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>appServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
SpringMVCプロジェクトをEclipseで生成する際に自動的に生成されるWeb.xmlプロジェクトを起動するときは、対応するxmlファイルから開始します.
ファイルの上部には、最初に駆動されたContext Listenerが登録されています.
context-paramにはroot-contextが含まれています.xmlのパス、listenerはSpringMVCのContextLoaderListenerを登録しています.このContextLoaderListenerは、Webアプリケーションドライバの場合と同様に、最初に実行されます.
root-context.xmlを処理する場合はroot-contextを使用します.xmlのオブジェクト(bean)設定が機能します.
次に、Springの領域にbeanを作成し、オブジェクト間の依存性を処理します.
その後SpringMVCで使用されるDispatcherServiceletのテンプレートに関する設定が有効になります.
このコードにはorgが含まれています.springframework.web.servlet.DispatcherServiceletクラスは、SpringMVC構造の中で最もコアなクラスであり、内部でWeb関連処理を準備するためのファイルはServicelet-contextである.xmlファイル.
DispatcherServiceletは、servletコンテキストとしてXML WebApplicationContextを使用します.xmlをロードおよび解析します.このプロセスでは、登録されたbeanは既存のbeanにバインドされます.
SpringMVCの基本構造
1.Dispatcherサーブレットによるユーザ要求の処理
<servlet>
<servlet-name>appServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>appServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
コードを表示すると、DispatcherServiceletはすべてのリクエストを処理します.2)、3)HandleMappingは、Requestインタフェースを実現した複数のオブジェクトのうち、RequestMappingHandleMappingのように@RequestMapping操作が適用されたことにより判断される.正しいコントローラが見つかった場合は、Handler Adapterを使用してコントローラ操作を行います.
4)実際の開発者の要求処理ロジック、View(JSP,html...)を含むで渡されるデータは主にモデルと呼ばれるオブジェクトに含まれ、コントローラの戻りタイプはView Resolverを使用します.
5)ViewResolverは、コントローラから返された結果をどのビューで処理するかを説明します.最も一般的な設定はservlet-contextです.XMLを使用したInternalResourceViewResolver
<beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<beans:property name="prefix" value="/WEB-INF/views/" />
<beans:property name="suffix" value=".jsp" />
</beans:bean>
<context:component-scan base-package="org.zerock.controller" />
6)、7)Viewは、Jspなどで作成したロールを使用して、実際に送信する必要がある応答をDispatcherServiceletに送信する.サマリ
Springプロジェクトのロード構造
SpringMVCの基本構造
4)実開発者の要求処理ロジック
5)ViewResolver解釈
Reference
この問題について(SpringMVC構造), 我々は、より多くの情報をここで見つけました https://velog.io/@alsrb5606/SpringMVC-구조テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol