9. Strutsは捨てよう~Spring MVC
• 積極的なREST対応、アノテーションを利用し、
ControllerをHTTPに汚染されない普通のソースコ
ードとして実装可能
9
中間層EIS層Client層
プレゼンテーション層ビジネス層データアクセス層
Browser RDB
Spring
(DIxAOP)
Spring
MVC
10. 10
参考Spring MVC(1)
※少し手を加えシンプルにしています
<html>
<head>
<title>Home</title>
</head>
<body>
<h1>Hello world! </h1>
<p>The time on the server is ${serverTime}.</p>
</body>
</html>
Modelに設定したオブジェクトは
自動的にHttpServletRequestに
設定されている
11. 参考Spring MVC(2)
11
Controllerの指定
@Controller
public class HomeController {
@RequestMapping(value = "/", method = GET)
public String home(Model model) {
Date date = new Date();
model.addAttribute("serverTime", date);
return "home";
}
}
HTTPメソッドがGETで
「/」へアクセスした際に
実行される
ビューに渡したいオブジェクトを
設定する
View名をreturnする
※少し手を加えシンプルにしています
13. ログイン画面は自分で作らない
-Spring Security
• 認証(ユーザーであるか否かを確認する、所謂ログ
インの機能)/認可(ユーザがある機能を利用できる
か否かを判断する機能)はスクラッチで作らない
13
中間層EIS層Client層
プレゼンテーション層ビジネス層データアクセス層
Browser RDB
Spring
(DIxAOP)
Spring
MVC
Spring
Security
位置的に微妙だけど
その辺は御勘弁・・・
14. ここは悩む-DBアクセス
• JPA(Hibernate)
• Spring Data JPA
• MyBatis
14
中間層EIS層Client層
プレゼンテーション層ビジネス層データアクセス層
Browser RDB
Spring
(DIxAOP)
Spring
MVC
Spring
Security
Spring
Data
JPA
MyBatis