Advertisement
Advertisement

More Related Content

Advertisement

Recently uploaded(20)

Advertisement

Ch13 整合 Spring MVC/Security

  1. 1
  2. 13 • 整合 Spring MVC/Security 學習目標 • 區別程式庫與框架 • 逐步善用 Spring MVC • 簡介 Thymeleaf 模版 • 使用 Spring Security 2
  3. 程式庫或框架? • 開發微網誌的過程中,有使用到幾個程式庫, 像是 OWASP 的 HTML Sanitizer、H2 JDBC 驅動程式、Java Mail 等 • 應用程式主要流程一直在你的控制之內,你 決定了何時要處理請求參數、取得模型物件、 轉發請求、顯示頁面等各式流程 3
  4. 程式庫或框架? • 在開始使用框架之後,會發現框架主導了程 式運行的流程 • 你必須在框架的規範下定義某些類別,框架 會在適當時候調用你實作的程式 • 對應用程式的流程控制權被反轉了,現在是 框架在定義流程,由框架來呼叫你的程式, 而不是由你來呼叫框架。 4
  5. Inversion of Control 5
  6. 程式庫或框架? • 會被定位為框架,表示它對程式主要流程擁 有更多的控制權 • 框架本身是個半成品 • 要完成整個流程,必須在框架的流程規範下, 實現自定義元件 6
  7. 需要使用框架嗎? • 使用程式庫時,開發者會擁有較高的自由度 • 使用框架時,開發者會受到較大的限制 • 換取而來的益處超越了犧牲掉的流程自由度, 才會使得使用框架具有意義 7
  8. 初步套用 Spring MVC • 在 gossip 專案上按右鍵執行「Configure/Add Gradle Nature」,建立 build.gradle 檔案 8
  9. 9
  10. 初始前端控制器 10
  11. 組態 11
  12. 重構控制器 12
  13. 重構控制器 13
  14. 14
  15. 15
  16. 16
  17. 在web.xml宣告安全設定 17
  18. 注入服務物件與屬性 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 簡化控制器 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 建立表單物件 • JSR303 規範了 Java Validation API • Spring 可以整合 JSR303 • 需要有個 JSR303 的實作品,在這邊使用 Hibernate Validator 31
  32. 建立表單物件 32
  33. 建立表單物件 33
  34. 34
  35. 建立表單物件 35
  36. 訊息消毒與 AOP 36
  37. 37
  38. 38
  39. 關於 Thymeleaf 模版 • JSP 已經過時了? • JSP 確實不是唯一的頁面呈現技術 • 如果使用 Spring MVC,在其他模版引擎上, 能見度高的選擇之一是 Thymeleaf • 主打的特性之一是自然模版(Natural template) 39
  40. 關於 Thymeleaf 模版 40
  41. 41
  42. 42
  43. 43
  44. 初嘗 Spring Security 44
  45. 45
  46. 46
  47. 47
  48. 48
  49. 自訂驗證頁面 49
  50. 50
  51. 51
  52. 52
  53. 角色與授權 53
  54. 54
  55. JDBC 驗證與授權 55
  56. 56
  57. 57
  58. 套用於微網誌 • 認識 Spring Security 的一些基本使用方式後, 來試著將之套用至微網誌 58
Advertisement