Spring MVCの開発簡単なwebアプリケーション(一)
3239 ワード
Spring MVCの開発簡単なwebアプリケーション(一)
----------
依存の追加、プロファイルの作成
Spring MVCの重要な構成部分はDispatcherServiceletです.名前の通り、主に要求を対応するプロセッサに配布し、これらの要求を処理させる責任を負います.Webデプロイメント記述子で構成する必要がある唯一のサーブレットです.Spring MVCフレームワークのフロントエンドコントローラとして機能し、各Webリクエストはそれを通過しなければならないため、リクエスト処理プロセス全体を管理することができます.
WebリクエストがSpring MVCアプリケーションに送信されると、DispatcherSellvetはリクエストを受信し、SpringのWebアプリケーションコンテキストで構成された異なるコンポーネントを組織してこのリクエストを処理します.
1.依存の追加
Spring MVCでWebアプリケーションを開発するにはspring-webmvc.JArはWEB-INF/libディレクトリにコピーします.mavenプロジェクトなら
依存関係を追加するには、次のようにします.
2.プロファイルの作成
Spring MVCアプリケーションでは、Spring MVCフロントエンドコントローラとして機能するDispatcherServiceインスタンスを定義するだけでよい.
URLの拡張子は任意ですが、実装技術をWebアプリケーションに漏らすユーザーを避けるために、拡張子としてhtml、htmlなどの名前を使用することが一般的です.
サーブレットの名前には、DispatcherサーブレットにロードするSpring MVCプロファイルを決定する重要な用途があります.デフォルトでは、サーブレット名に-servletを付ける.xml接尾辞はファイル名のプロファイルとして使用されます.contextConfigLocationというサーブレットパラメータでプロファイルを明示的に指定することもできます.上記の設定によりcourtサーブレットのデフォルトでSpring MVCプロファイルcourt-servletがロードする.xml.このファイルは標準的なSpring Beanプロファイルであるべきです.
Springにcourt-servletをロードするために.xml以外のプロファイルは、webでなければなりません.xmlでサーブレットリスニングContextLoaderListenerを定義します.
デフォルトでは、Beanプロファイル/WEB-INF/アプリケーションContextがロードされます.xmlですが、コンテキストパラメータcontextConfigLocationで独自のプロファイルを指定できます.ここでは、複数のプロファイルをカンマまたはスペースで区切り記号として指定することもできます.
ContextLoaderListenerは、指定したBeanプロファイルをルートアプリケーションコンテキストにロードし、各DispatcherServiceは
インスタンスは、プロファイルを独自のアプリケーションコンテキストにロードし、ルートアプリケーションコンテキストを親コンテキストとして参照します.したがって、各DispatcherSellvetインスタンスがロードしたコンテキストは、ルートアプリケーションコンテキストで宣言されたBeanにアクセスしたり上書きしたりすることができます(ただし、逆にはできません).ただし、DispatcherServiceletインスタンスがロードしたコンテキストは相互にアクセスできません.
----------
依存の追加、プロファイルの作成
Spring MVCの重要な構成部分はDispatcherServiceletです.名前の通り、主に要求を対応するプロセッサに配布し、これらの要求を処理させる責任を負います.Webデプロイメント記述子で構成する必要がある唯一のサーブレットです.Spring MVCフレームワークのフロントエンドコントローラとして機能し、各Webリクエストはそれを通過しなければならないため、リクエスト処理プロセス全体を管理することができます.
WebリクエストがSpring MVCアプリケーションに送信されると、DispatcherSellvetはリクエストを受信し、SpringのWebアプリケーションコンテキストで構成された異なるコンポーネントを組織してこのリクエストを処理します.
1.依存の追加
Spring MVCでWebアプリケーションを開発するにはspring-webmvc.JArはWEB-INF/libディレクトリにコピーします.mavenプロジェクトなら
依存関係を追加するには、次のようにします.
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>3.0.5.RELEASE</version>
</dependency>
2.プロファイルの作成
Spring MVCアプリケーションでは、Spring MVCフロントエンドコントローラとして機能するDispatcherServiceインスタンスを定義するだけでよい.
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xmlns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>Court Reservation System</display-name>
<servlet>
<servlet-name>court</servlet-name>
<servlet-class>
org.springframewrok.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>court</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>
</web-app>
URLの拡張子は任意ですが、実装技術をWebアプリケーションに漏らすユーザーを避けるために、拡張子としてhtml、htmlなどの名前を使用することが一般的です.
サーブレットの名前には、DispatcherサーブレットにロードするSpring MVCプロファイルを決定する重要な用途があります.デフォルトでは、サーブレット名に-servletを付ける.xml接尾辞はファイル名のプロファイルとして使用されます.contextConfigLocationというサーブレットパラメータでプロファイルを明示的に指定することもできます.上記の設定によりcourtサーブレットのデフォルトでSpring MVCプロファイルcourt-servletがロードする.xml.このファイルは標準的なSpring Beanプロファイルであるべきです.
Springにcourt-servletをロードするために.xml以外のプロファイルは、webでなければなりません.xmlでサーブレットリスニングContextLoaderListenerを定義します.
デフォルトでは、Beanプロファイル/WEB-INF/アプリケーションContextがロードされます.xmlですが、コンテキストパラメータcontextConfigLocationで独自のプロファイルを指定できます.ここでは、複数のプロファイルをカンマまたはスペースで区切り記号として指定することもできます.
<web-app...>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/court-service.xml</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
...
</web-app>
ContextLoaderListenerは、指定したBeanプロファイルをルートアプリケーションコンテキストにロードし、各DispatcherServiceは
インスタンスは、プロファイルを独自のアプリケーションコンテキストにロードし、ルートアプリケーションコンテキストを親コンテキストとして参照します.したがって、各DispatcherSellvetインスタンスがロードしたコンテキストは、ルートアプリケーションコンテキストで宣言されたBeanにアクセスしたり上書きしたりすることができます(ただし、逆にはできません).ただし、DispatcherServiceletインスタンスがロードしたコンテキストは相互にアクセスできません.