Spring 01

Springのホームページ

https://spring.io/

 

pom.xml (Project Object Model)

https://mvnrepository.com/ 


Modelがこのページにもらえます。もらったら、pom.xmlに貼り付けます。

 

web.xml
どちらのcontrollerで実行するのは、web.xmlで決めます。

 

src/main/java
プロジェクトのビジネス ロジック プログラムなどの一般的なコードを配置するために使用される所です。

 

src/main/resources
property、xml、profileなどのstatic resourceを配置するために使用される所です。

 

src/test/java
単体test codeなどのtest codeを配置するために使用される所です。

 

・Spring MVC

(1)DispatcherServlet

フロントコントローラーです。全てのリクエストはDispatcherServletを通して配信され、対応するhandlerに配信されます。

 

(2)HandlerMapping

要求リンクを解析して、要求リンクに基づいて要求を実行したクラス(HandlerMappingというハンドラー)を見つけます。

 

(3)HandlerAdapter

使用者からのリクエストによってメソッドを呼んで、処理します。

 

(4)Controller

Controllerは使用者のリクエストを処理して、Controllerが終わったら、DispatcherServletにModelとViewのオブジェクトを渡します。

 

他の角度で見たら、DispatcherServletはWebアプリケーション全体のコントローラーです。Controllerは単一のHttp要求処理におけるコントローラーです。

 

(5)ViewResolver
Viewを解析し、View内の論理名を実際のViewオブジェクトに変更します。

 

(6)Model
アプリケーションデータ、ビジネスルール、ロジック、関数などです。

 

(7)Service
ビジネスロジックの処理、処理された結果のControllerへの返却、またはDAOの呼び出しによるデータベースへの格納を担当します。

 

ログイン画面(DataBaseなし)


(pom.xml
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>4.2.4.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>4.2.4.RELEASE</version>
</dependency>

 

(web.xml
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value> <!-- Spring Security's setting file is change to classpath(applicationContxt.xml) -->
</context-param>
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

(applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans:beans
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:security="http://www.springframework.org/schema/security"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security.xsd">

<security:http auto-config='true'>
<security:intercept-url pattern="/**" access="hasRole('ROLE_ADMIN')"/>
</security:http>

<security:authentication-manager>
<security:authentication-provider>
<security:user-service>
<security:user name="matt" password="matt" authorities="ROLE_ADMIN"/>
</security:user-service>
</security:authentication-provider>
</security:authentication-manager>

</beans:beans>