Spring MVC
Java 中 Web 開發相關的官方規範(Java EE / J2EE)
- Servlet
- JSP
- Listener
- Filter
- JSTL
- JSF
- EJB
- …
實現了 Java EE 規範的應用程序服務器
- apache tomcat
- jboss
- weblogic
- websphere
- 其他
Web 層封裝了 Servlet 相關開發技術的第三方框架
- Struts
- WebWork
- xWork
- Spring MVC
- Model-View-Controller(MVC 1.0)
這些框架對於 Servlet 就類似 MyBatis、Hibernate 相對於 JDBC
封裝了官方的技術定義,更簡潔、高效
技術 | 早期規範(Sun) | 社區方案 | 新規範(Oracle) | 目前的事實標準 |
---|---|---|---|---|
數據庫存儲 | JDBC、EJB | hibernate, mybatis, toplink | JPA | JPA、MyBatis |
Web 開發 | Servlet、JSP | Struts, Spring MVC | MVC 1.0 | Spring Boot |
Java 分佈式開發 | J2EE、Java EE | Struts、Spring、Hibernate | 無 | Spring Boot & Spring Cloud |
Spring Boot & Spring Cloud 不是官方規範,但是事實標準
產品線 | IBM | Oracle | 備註(優勢方)| |
---|---|---|---|
處理器 | power | sparc * |
IBM |
硬件 | 小型機 | Sun * |
? |
操作系統 | AIX、Red Hat | Solaris * |
IBM |
數據庫 | DB2 | Oracle | Oracle |
應用服務器 | websphere | weblogic * |
Oracle |
行業應用 | 各個領域 | ERP、SCM * |
SAP 德國 |
標記
*
的產品爲收購的
Spring 被 VmWare 收購
Servlet
自定義的 Servlet
繼承 HttpServlet
(Java 服務端組件,接收 HTTP 請求,調用業務邏輯,完成 HTTP 響應)
Servlet 生命週期(容器管理)
- 實例化 - 構造器
- 默認第一訪問,可配置程序啓動就初始化
- 初始化 - init()
- 運行 - service() 根據 HTTP 請求方法分發到一下方法中:
doGet()
doPost()
doPut()
- 早期版本默認無效doDelete()
- 早期版本默認無效- 銷燬 - destory()
默認一個 Servlet 映射一個 URL 路徑
/user
-->UserServlet
/order
-->OrderServlet
/dept
-->DeptServlet
/staff
-->StaffServlet
/other
-->OtherServlet