精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

搞懂 JavaEE 分層模型,這篇就夠了!Web 服務器 + 核心框架 + 交互邏輯全解析

開發 前端
Tomcat 是 Apache 軟件基金會開發的開源 Web 服務器,也是 Java Web 應用中最廣泛使用的 Servlet 容器之一。它支持 Java Servlet 和 JavaServer Pages (JSP) 技術,適用于傳統 Java Web 應用的開發和部署。Tomcat 以其穩定性和社區支持而聞名,適合中小規模企業級應用 。

1.1 JavaEE應用的分層模型

  • 表現層:也就是常說的WEB層。主要負責接收客戶端請求,向客戶端響應結果。表現層也細分為:展示層和控制層。

展示層:負責展示結果。由一系列JQuery、Angular、Vue等各種前端框架組成。

控制層:負責接收請求和攔截非法請求。由一系列JSP頁面、FreeMarker頁面組成。

  • 業務層:由一系列業務邏輯對象組成,這些業務邏輯對象實現了Domain Object方法及其他組件實現的業務邏輯方法。

Domain Object(領域對象):此層由一系列POJO對象組成,用于實現業務邏輯方法。

事務控制:業務層經常需要確保事務的一致性。

  • 持久層:主要負責數據的持久化,數據層通常包括數據庫和數據訪問層。

數據庫:指具體的數據庫軟件,例如mysql、Oracle等。通常是利用數據庫驅動以及數據庫連接池技術實現與數據庫的連接最原始的當然就是JDBC,后續衍生出來的JPA、Mybatis以及Mybatis-plus都是對于JDBC的封裝,簡化開發。

數據訪問層:也就是DAO(Data Access Object),用于編寫持久層接口,用于將實體對象轉換為業務對象。

圖片圖片

交互邏輯:

表現層交由用戶進行控制,用戶操作表現層,將請求發送至控制層

控制層調用業務層,處理用戶請求

業務層根據業務的實際需求,調用持久層將用戶操作存儲在數據庫,或從數據庫取出數據

持久層返回操作結果給業務層

業務層返回持久層結果給控制層

控制層進行一定的數據封裝、渲染,返回給表現層

1.2 表現層

表現層主要需要解決的問題是展示層和控制層的如何通信。

  • 展示層不管是采用JSP還是VUE,都需要將用戶的請求發送到控制層。
  • 控制層不管是用Java,還是Python,也都需要將響應結果反饋給展示層。

1.2.1 Web服務器

Web服務器:Web服務器提供了各式各樣的功能,側重點也不也一樣,Java中常用的三種Web服務器就是Tomcat、Undertow、Jetty

1)Tomcat

Tomcat 是 Apache 軟件基金會開發的開源 Web 服務器,也是 Java Web 應用中最廣泛使用的 Servlet 容器之一。它支持 Java Servlet 和 JavaServer Pages (JSP) 技術,適用于傳統 Java Web 應用的開發和部署。Tomcat 以其穩定性和社區支持而聞名,適合中小規模企業級應用 。

Tomcat 的主要特點包括:

  • 穩定性高:經過長期發展和廣泛使用,Tomcat 在穩定性和可靠性方面表現優異。
  • 支持標準 Java Web 技術棧:支持 Servlet、JSP、JSTL 等標準技術。
  • 社區支持廣泛:擁有龐大的用戶社區和豐富的文檔資源。

2)Jetty

Jetty 是一個輕量級、高性能的 Java Web 容器,由 Eclipse 基金會維護。它支持 Servlet 3.1 和 WebSocket,適用于高性能和分布式系統。Jetty 以其輕量級和快速啟動的特點而受到青睞,適合嵌入式應用和微服務架構 。

Jetty 的主要特點包括:

  • 輕量級:啟動快、內存占用低,適合嵌入式應用和微服務。
  • 高性能:支持異步非阻塞 I/O,適合高并發場景。
  • 靈活性:支持按需加載組件,便于擴展和定制。

3)Undertow

Undertow 是 Red Hat 開發的高性能 Web 服務器,基于 NIO 實現,支持異步非阻塞 I/O 和 HTTP/2。它被廣泛用于 WildFly 應用服務器,并且在 Spring Boot 中作為可選的內嵌服務器。Undertow 以其高性能和靈活性而受到關注 。

Undertow 的主要特點包括:

  • 高性能:在高負載下表現優異,吞吐量高,適合高并發場景。
  • 靈活性:支持異步非阻塞 I/O,適合實時通信和微服務架構。
  • 輕量級:配置簡單,易于集成到 Spring Boot 等框架中。

總結

  • Tomcat:適合傳統 Java Web 應用,穩定可靠,社區支持廣泛。
  • Jetty:適合輕量級、高性能和嵌入式應用,啟動快、內存占用低。
  • Undertow:適合高性能、高并發場景,支持異步非阻塞 I/O,適合微服務和實時通信。

其他服務器

  • Jboss:是一個遵從了javaEE規范的、開源的、純EJB服務器,它支持所有的javaEE規范
  • GlassFish:由Oracle公司開發的一款JavaWeb服務器,是一款強健的商業服務器,達到產品級質量
  • Resin:自身采用Java開發,是目前最快的JSP、Servlet運行平臺,支持EJB,商用收費,個人免費
  • WebLogic:是Oracle公司的產品,目前應用最廣泛的Web服務器,支持JavaEE規范,適合大型項目(收費,大公司用得比較多)
  • Nginx服務器:負載均衡服務器,主要用于反向代理,詳細介紹參考:Nginx
  • IIS(Internet Information Services)服務器:微軟公司開發的WEB服務器,允許托管網站和Web應用,并提供了一系列用于Web服務器管理的功能

1.2.2 JSP、Servlet、JavaBean

JSP是動態Web,HTML是靜態Web。

JSP和Servlet底層實現原理一致,**JSP必須被Web服務器編譯為Servlet**,才能使用,所以真正在Web服務器中運行的是Servlet。

JavaBean是用于數據傳輸的,請求/響應攜帶的數據。

Tomcat版本

Servlet/JSP版本

JavaEE版本

運行環境

4.1

2.3/1.2

1.3

JDK1.3

5.0

2.4/2.0

1.4

JDK1.4

5.5/6.0

2.5/2.1

5.0

JDK5.0

7.0

3.0/2.2

6.0

JDK6.0

8.0

3.1/2.3

7.0

JDK7.0

Servlet在2.5版本及之前都是采用的xml配置的方式,在3.0之后就是注解的方式實現了 Servlet在4.x中提供了異步請求、注解、增強的Servlet API、非阻塞IO。

1.2.3 靜態web和動態web

1.2.3.1 靜態web

html\htm網頁,通過直接獲取的方式,進行頁面展示,所有的用戶看到的都是同一個頁面 css、js、txt mp4 jpg等都算是靜態web資源。

圖片圖片

靜態web存在的缺點:

  • Web頁面無法動態更新,所有用戶看到的都是同一個頁面。
  • 無法和數據庫交互(數據無法持久化,用戶無法交互)。

1.2.3.2 動態web

jsp/sevlet動態資源,可以與數據庫進行交互,實現動態頁面:

ASP:微軟的產品,底層是在HTML中嵌入VB的腳本,ASP+COM,導致在頁面中包含太多業務邏輯代碼。

PHP:開發速度很快,功能很強大,跨平臺,代碼很簡單,但是無法承載大訪問量的情況。

JSP:本質是Servlet,是sun公司開發的B/S架構,可以承載三高(高性能、高可用、高并發)問題,語法像ASP。

圖片圖片

動態Web的缺點:假如服務器的動態web資源出現錯誤,我們需要重新編譯后臺程序,重新發布。

1.3 業務層

業務層的內容其實特別多,很多技術其實都是在業務層出現問題后產生的一系列擴展。聊這些內容勢必就會帶來一些場景問題,這里我們淺淺了解一下,方便后續對Spring設計的理解。

假設現在有一個新增用戶的業務,需要更新兩個表,sys_user表和sys_user_role表,這是一個很常見的業務,那么現在假設sys_user更新成功,sys_user_role更新失敗,會出現什么問題?

實際就是創建用戶,界面提示新增失敗,但是查詢時可以查詢到這個用戶,這個用戶無法登錄【因為沒有角色權限】,這就是很典型的事務問題,放到金融行業,直接爆炸!!!

所以說像Spring自帶的日志模塊、事務模塊以及消息模塊等,都是服務于業務的。

1.4 持久層

說到持久層,不管是古早的JPA還是現在的Mybatis、Mybatis-plus都是基于JDBC,全稱為Java DataBase Connectivity(Java數據庫連接器)。

其實我們所說的JDBC只是規范,并非具體實現,具體實現還是依靠各大數據庫廠商提供的驅動。

下圖就是最原始的JDBC與上下游交互的交互邏輯。

JDBC架構.svgJDBC架構.svg

JDBC開發步驟:

  1. 引入數據庫的驅動jar包
<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>8.0.27</version>
</dependency>
  1. 獲取連接

DriverManager獲取連接

Class.forName("com.mysql.cj.jdbc.Driver");//注冊驅動
String url = "jdbc:mysql://localhost:3306/test";
String username = "root";
String password = "123456";
Connection con = DriverManager.getConnection(url, username, password);
  1. 獲取 Statement

用過獲取的連接,得到Statement

Statement stmt = con.createStatement();
  1. 執行sql
// 定義 sql 插入語句
String sql = "insert into person(id,name,gender,birthday)values(REPLACE(uuid(),'-',''),'測試人員','1','1997-09-23')";
// 定義 sql 更新語句
String sql = "update person t set t.gender = '2' where t.id='07382329976811f09ffbfa163e3e8fb6'";
// 定義 sql 刪除語句
String sql = "delete person t where t.id='07382329976811f09ffbfa163e3e8fb6'";

// 創建 sql 執行對象
stmt = conn.createStatement();   
// 執行查詢 sql 并返回更新條數
int count = stmt.executeUpdate(sql);
String sql = "select * from person";
ResultSet rs = stmt.executeQuery(sql);

后面為了簡化開發,衍生出來很多數據庫框架,詳細介紹就參考Spring Data JPA、MyBatis、Mybatis-plus。

責任編輯:武曉燕 來源: 愛編程的杰尼龜
相關推薦

2020-09-10 09:31:34

Nginx HTTP代理服務器

2020-09-09 12:55:28

Nginx高并發性能

2021-09-10 13:06:45

HDFS底層Hadoop

2025-11-10 01:35:00

2019-07-31 15:56:57

Jvm虛擬機Content

2024-07-05 11:01:13

2011-02-22 15:51:41

2018-09-26 11:02:46

微服務架構組件

2025-02-14 08:53:24

2022-03-13 09:31:43

MQ消息隊列ActiveMQ

2021-09-30 07:59:06

zookeeper一致性算法CAP

2019-08-16 09:41:56

UDP協議TCP

2020-11-06 10:01:06

Nginx

2020-02-24 19:28:23

Rust語言Web框架應用領域

2021-10-13 16:54:22

IPv6網絡5G

2021-09-02 07:00:32

鑒權Web 應用Cookie-sess

2015-11-02 09:49:04

Android屏幕適配官方指導

2019-10-31 09:48:53

MySQL數據庫事務

2021-05-07 07:52:51

Java并發編程

2022-03-29 08:23:56

項目數據SIEM
點贊
收藏

51CTO技術棧公眾號

亚洲线精品一区二区三区| 国产精品www爽爽爽| 国产精品久久无码| 大片免费播放在线视频| 国产高潮流白浆喷水视频| 日韩免费av片| 免费看男女www网站入口在线| 欧美美女啪啪| 日韩一区欧美一区| 欧美在线中文字幕| 风韵丰满熟妇啪啪区老熟熟女| 精品乱码一区二区三四区视频| 亚洲国产激情| 91精品国产91久久久久久一区二区 | 成人精品久久av网站| 疯狂揉花蒂控制高潮h| 亚洲丝袜精品| 国产一区激情在线| 原创国产精品91| 国产日韩欧美精品在线观看| 精品国产无码一区二区三区| 永久亚洲成a人片777777| 精品1区2区3区| 亚洲 日韩 国产第一区| 91丨九色丨海角社区| 一区二区小说| 午夜欧美大尺度福利影院在线看| 99国产高清| 精品99在线观看| 亚洲视频国产精品| 亚洲午夜精品网| 亚洲精品在线免费| 亚洲天堂免费av| 99视频精品全国免费| 欧美精品三级日韩久久| 亚洲区成人777777精品| 99精品免费观看| 一区二区三区国产精华| 国产亚洲欧美日韩一区二区| 欧美亚洲动漫另类| 蜜臀久久99精品久久久久久宅男 | 欧美精品一区二区精品网| 四虎4hu永久免费入口| 国产区精品在线| 日韩av二区在线播放| 亚洲欧美一区二区三区情侣bbw | 精品免费一区二区三区| 国产一级黄色录像片| 中文字幕在线免费| 韩国成人精品a∨在线观看| 欧美伦理91i| 无码人妻精品一区二区三| 老司机深夜福利在线观看| 亚洲精品乱码久久久久久黑人 | 91传媒久久久| 成人性生交大片免费看午夜| 91蜜桃视频在线| 国产成人小视频在线观看| 国产视频123区| 欧美色婷婷久久99精品红桃| 欧美精品色综合| 在线看日本不卡| 高清不卡一区二区三区| 日本一二三区不卡| 精品动漫3d一区二区三区免费版 | 亚洲va韩国va欧美va精品| 国产大尺度在线观看| 亚洲欧美另类一区| 久久精品国产清高在天天线| 最近2019年日本中文免费字幕| 涩多多在线观看| av在线中出| 欧美韩国日本不卡| 999在线免费观看视频| 国产成人精品亚洲精品色欲| 国产在线观看一区二区| 成人资源视频网站免费| 日本黄视频在线观看| 视频一区欧美日韩| 欧美大胆a视频| 国产在线视频二区| 成人短片线上看| 精品国内亚洲在观看18黄| 中文人妻一区二区三区| 日韩在线观看中文字幕| 欧美性受极品xxxx喷水| 色啦啦av综合| 女生影院久久| 亚洲国产sm捆绑调教视频| 一区二区三区四区欧美| 青青草观看免费视频在线| 国产一区二区三区在线观看精品 | 国产精品污视频| 老司机免费视频久久| 国产精品亚发布| 天天操天天摸天天干| 亚洲高清资源在线观看| 在线激情影院一区| 欧美另类视频在线观看| 美日韩精品视频| 91网站免费看| 亚洲最大成人av| 国产aⅴ精品一区二区三区色成熟| 国产精品网址在线| 亚洲国产精品久久久久久6q| 激情另类小说区图片区视频区| 91在线看网站| a天堂在线视频| 久久午夜色播影院免费高清 | 亚洲黄色小说网址| 欧美极品xxx| 日本熟妇人妻xxxx| 超碰在线caoporn| 国产精品视频免费| 日本精品二区| 免费在线国产| 久久亚洲一区二区三区明星换脸| 亚洲一区二区三区精品动漫| cao在线视频| 欧美一区二区私人影院日本| 波多野结衣先锋影音| 亚洲成人国产| 国产精品高潮在线| 这里只有精品999| 久久精品久久精品| 国产日韩在线播放| 99热这里是精品| 国产欧美精品国产国产专区 | 91在线三级| 在线91免费看| 亚洲一级片网站| 久久国内精品| 在线综合+亚洲+欧美中文字幕| 香蕉网在线播放| 激情欧美日韩| 99国内精品久久久久久久软件| 91社区在线观看| 色综合av在线| 欧美在线aaa| 久久av免费| 日韩视频中文字幕| 免费在线观看日韩| 精品中文字幕一区二区小辣椒 | 国产剧情精品在线| 国产精品麻豆网站| 中文久久久久久| 日韩国产一二三区| 日韩精品在线看片z| 中文字幕在线播放视频| 欧美日韩一区自拍 | 国产乡下妇女做爰毛片| 国产成人精品网址| 国产欧美韩日| 懂色av中文在线| 亚洲综合一区二区精品导航| 97超碰青青草| 亚洲欧洲免费| 国产91色在线免费| www.色亚洲| 一区二区三区不卡视频| 曰本三级日本三级日本三级| 亚洲人亚洲人色久| 日本一区二区在线播放| 精品无人乱码| 欧美性猛交xxxxxxxx| 性少妇xx生活| 国精品**一区二区三区在线蜜桃| 国产成年人在线观看| 久久69av| 一本色道久久88亚洲综合88| 中文字幕精品一区二区精| 成人午夜短视频| 亚洲一区二区在线观| 四虎国产精品永久在线国在线| 久久精品视频va| 亚洲国产精品久久久久爰性色 | 久久久久久久久久网| 久久xxx视频| 亚洲国产三级网| 永久免费看mv网站入口| 免费亚洲婷婷| 国产日产精品一区二区三区四区 | 精品成人无码久久久久久| 久久一综合视频| 亚洲高清资源综合久久精品| 国产高清亚洲| 中文字幕欧美日韩| 在线观看日本网站| 成人av资源在线| 日本黄网站色大片免费观看| 草草视频在线一区二区| 久久亚洲精品毛片| 嫩草影院一区二区三区| 亚洲色图欧美在线| 性生活免费在线观看| 午夜国产精品视频| 91日韩在线播放| 国产精品一二三产区| 日韩精品最新网址| 日本免费精品视频| 一区二区三区视频在线观看| 久久国产精品无码一级毛片| 激情综合色综合久久| 黄色一级视频片| 欧美黄色影院| 国产免费一区视频观看免费| xxx在线免费观看| 精品国产成人在线影院| 日韩av免费播放| 亚洲国产精品久久久久秋霞影院 | а 天堂 在线| 天天综合网91| 麻豆传媒一区| 国产精欧美一区二区三区蓝颜男同| 亚洲国产欧美一区| 一卡二卡在线观看| 亚洲色图第一区| 真实乱视频国产免费观看| 国产九九精品| 欧美在线日韩精品| 超碰97成人| 91国产在线播放| 日韩专区视频| 国产精品www| 午夜伦理福利在线| 亚洲男人av电影| 黄色一级a毛片| 欧美一区二区三区免费大片| 免费黄色小视频在线观看| 华人av在线| 欧美日韩在线影院| 野外性满足hd| 成人高清av在线| 日本高清免费观看| 欧美日本免费| 亚洲成人动漫在线| 婷婷久久国产对白刺激五月99| 欧美日韩一区二区三区免费| 韩国理伦片久久电影网| 欧美在线一区二区三区四| 天堂中文av在线资源库| 久久理论片午夜琪琪电影网| 天天操天天操天天操| 欧美性生交xxxxxdddd| 日产亚洲一区二区三区| 亚洲国产一区二区三区| 九九视频免费看| 亚洲自拍另类综合| 国产一级黄色av| 国产亚洲成aⅴ人片在线观看 | 日韩欧美在线不卡| av 一区二区三区| 日韩视频不卡中文| 久久久久99精品成人片三人毛片| 中文字幕精品一区二区三区精品 | 成人午夜精品一区二区三区| 国产精品99久久久精品无码| 国产高清不卡二三区| 少妇极品熟妇人妻无码| 成人av在线资源网站| 欧美无人区码suv| 91美女片黄在线| 熟女少妇内射日韩亚洲| 国产精品一二一区| 国产成人综合一区| 欧美日韩影院| 成人一区二区免费视频| 国产情侣一区| 日本老熟妇毛茸茸| 久久精品国产99| 51ⅴ精品国产91久久久久久| 日本少妇xxxxx| 国产日本欧洲亚洲| 日本 欧美 国产| 亚洲最色的网站| 中文在线第一页| 欧美视频在线播放| 国产免费一区二区三区最新不卡| 日韩午夜电影在线观看| 三级在线观看网站| 尤物精品国产第一福利三区| 在线观看电影av| 怡红院精品视频| 亚洲免费视频一区二区三区| 亚洲激情视频网站| 国产在线观看黄| 久久精品国产v日韩v亚洲| 久久av色综合| 欧美另类极品videosbest最新版本 | 成人久久网站| 国语自产精品视频在线看一大j8 | 成人免费网站在线观看| 国产成人在线中文字幕| 91九色蝌蚪国产| 美女av一区| 国产日产精品一区二区三区四区 | 亚洲午夜精品久久久久久性色| 蜜桃av在线免费观看| 亚洲天天在线日亚洲洲精| 成人影欧美片| 国产成人在线一区| 波多野结衣在线一区二区| 亚洲欧洲一区二区在线观看| 亚洲第一伊人| 午夜国产福利在线观看| 2024国产精品视频| 免费中文字幕在线| 亚洲天堂精品视频| 天堂在线免费观看视频| 日韩午夜av电影| av女优在线| 欧洲亚洲免费在线| 97青娱国产盛宴精品视频| 亚洲综合欧美日韩| 久久99伊人| www.男人天堂| 97精品久久久久中文字幕| 五月开心播播网| 有坂深雪av一区二区精品| 中文字幕永久免费视频| 精品亚洲国产视频| 好男人免费精品视频| 久久久女人电视剧免费播放下载 | 日本中文在线一区| 亚洲av成人片色在线观看高潮| 亚洲欧美一区二区三区久本道91| 国产免费a视频| 亚洲色图欧美制服丝袜另类第一页| 国产中文字幕在线| 91精品国产91久久久久久不卡| 三级在线看中文字幕完整版| 亚洲一区免费网站| 国产欧美自拍一区| 大片在线观看网站免费收看| 久久国产精品免费| 四虎国产成人精品免费一女五男| 在线一区二区视频| 九色国产在线观看| 日本精品久久电影| 日韩av系列| 看av免费毛片手机播放| 99riav一区二区三区| 天堂资源在线播放| 亚洲国内精品视频| 妞干网免费在线视频| 久久涩涩网站| 国产精品99视频| 蜜桃福利午夜精品一区| 中文字幕永久在线不卡| 亚洲激情视频一区| 精品国产污污免费网站入口 | 五月天激情综合| 欧美视频xxxx| 在线a欧美视频| 日韩欧美激情| 国产日产欧美一区二区| 国产精品一区免费视频| 精品97人妻无码中文永久在线| 欧美大片一区二区| 蜜桃麻豆影像在线观看| 欧美美乳视频网站在线观看| 日韩国产精品久久久| 久久久无码人妻精品无码| 亚洲狠狠爱一区二区三区| 亚洲av成人精品日韩在线播放| 北条麻妃久久精品| 国产精品一区二区三区四区在线观看| 欧美性受xxxx黑人猛交88| 国产成人99久久亚洲综合精品| 久久久久久久久久久久国产| 亚洲精品www久久久| 韩国美女久久| 一区二区三区四区欧美| 成人avav影音| 亚洲中文一区二区| 久久国产精品久久久久久久久久| 亚洲1区在线观看| 国精产品一区一区三区视频| 久久精品无码一区二区三区| 日韩污视频在线观看| 亚洲欧美精品suv| av日韩一区| 亚洲三区在线| 粉嫩嫩av羞羞动漫久久久| 天堂а√在线中文在线新版| 日韩中文av在线| 成人免费直播在线| 天天爱天天操天天干| 一区二区欧美在线观看| 蜜桃免费在线| 亚洲最大的免费| 久久久国产精品一区二区中文| 福利视频第一页| 欧美日韩一区二区不卡| 日本大胆在线观看| 色噜噜一区二区| heyzo一本久久综合| 日本熟妇乱子伦xxxx| 粉嫩一区二区三区在线看| 久久久成人精品一区二区三区|