目錄對比
springboot目錄
project├─src│ ├─main│ │ ├─java│ │ │ ├─com.example.demo│ │ │ │ ├─config // 存放SpringBoot的配置類│ │ │ │ ├─controller // 存放控制器類│ │ │ │ ├─entity // 存放實體類│ │ │ │ ├─mapper // 存放Mapper接口和xml文件│ │ │ │ ├─service // 存放業務邏輯接口和實現類│ │ │ │ └─Application.java // SpringBoot啟動類│ │ │ └─resources│ │ │ ├─static // 存放靜態資源(css/js/img等)│ │ │ ├─templates // 存放模板頁面(不是jsp)│ │ │ ├─application.yml // SpringBoot配置文件│ │ │ └─mybatis // 存放MyBatis配置和sql文件│ │ └─test // 存放測試類│ └─test└─target // 執行maven命令后生成的build目錄
src/main/java:Java源代碼目錄
src/main/resources:資源文件目錄
src/test/java:測試代碼目錄
src/test/resources:測試資源目錄
pom.xml:Maven構建文件
SSM目錄
src/main/java:Java源代碼目錄
controller:SpringMVC的控制器目錄
dao:數據訪問層目錄,實現與數據庫的交互
entity:實體類目錄,與數據庫表一一對應
service:業務邏輯層目錄,實現業務邏輯的處理
utils:工具類目錄,例如處理分頁、日期等通用操作的類
src/main/resources:配置文件目錄
mapper:MyBatis的映射文件目錄,實現SQL語句的映射
spring:Spring相關的配置文件目錄,包括Spring的配置文件、SpringMVC的配置文件等
db.properties:數據庫連接配置文件
src/main/webapp:Web應用目錄
WEB-INF:包含JSP文件的目錄和Spring配置文件
static:包含靜態資源的目錄,如CSS、JS、圖片等
index.jsp:首頁文件
src/main/java:Java源代碼目錄
src/main/resources:資源文件目錄
src/test:測試代碼目錄
src/main/webapp:Web應用程序的Web資源目錄
pom.xml:Maven構建文件
SSM是一種傳統的Java Web開發框架,它們三者分別是Spring、SpringMVC和MyBatis。
SpringBoot則是一個基于Spring框架的快速開發框架,它提供了很多基礎功能的自動化配置和約定優于配置的方式來簡化開發,比如自動配置數據源、自動配置Servlet容器、自動配置日志等等。
使得開發人員可以更專注于業務邏輯的實現,而不是耗費大量的時間在配置和調整上。
選擇SpringBoot項目的原因有以下幾點:
簡化配置:SpringBoot通過自動配置,簡化了項目的配置過程。開發者不需要再手動配置眾多的XML文件或注解,只需要使用一些默認配置,就可以快速開發出一個可用的應用程序。
集成度高:SpringBoot提供了豐富的starter依賴,可以快速集成常用的框架和技術,如Spring、Hibernate、MyBatis、Thymeleaf等,同時也支持與其他開源項目的集成。
提高開發效率:SpringBoot通過自動配置和快速集成的特性,讓開發者更加關注業務邏輯的實現,快速開發出高質量的應用程序,提高了開發效率。
易于維護:由于SpringBoot減少了配置文件和注解的復雜性,項目結構簡單,代碼易于維護,提高了項目的可讀性和可維護性。
社區活躍:SpringBoot作為Spring官方針對開發者的需求推出的一個項目,得到了廣泛的認可和支持,因此擁有一個活躍的社區,可以及時獲取到問題的解決方案和新版本的更新。
Servlet
Servlet 是 Server?Applet?的縮寫,譯為“服務器端小程序”,是一種使用 Java 語言來開發動態網站的技術。Servlet 是 Sun 公司推出的一種基于 Java 的動態網站開發技術。編寫 Servlet 代碼需要遵循 Java 語法,一個 Servlet 程序其實就是一個按照 Servlet 規范編寫的 Java 類。Servlet 程序需要先編譯成字節碼文件(.class文件),然后再部署到服務器運行。
Servlet 是基于 Java 語言的,運行 Servlet 必然少不了 JRE 的支持,它負責解析和執行字節碼文件(.class文件)。然而 JRE 只包含了 Java 虛擬機(JVM)、Java 核心類庫和一些輔助性性文件,它并不支持 Servlet 規范。要想運行 Servlet 代碼,還需要一種額外的部件,該部件必須支持 Servlet 規范,實現了 Servlet 接口和一些基礎類,這種部件就是 Servlet容器。
一個動態頁面對應一個 Servlet 類,開發一個動態頁面就是編寫一個 Servlet 類,當用戶請求到達時,Servlet 容器會根據配置文件(web.xml)來決定調用哪個類。
Servlet 容器就是 Servlet 程序的運行環境,它主要包含以下幾個功能:
- 實現 Servlet 規范定義的各種接口和類,為 Servlet 的運行提供底層支持;
- 管理用戶編寫的 Servlet 類,以及實例化以后的對象;
- 提供 HTTP 服務,相當于一個簡化的服務器。
Web容器
部署動態網站一般需要 Web 服務器的支持,例如:
- 運行 PHP 網站一般選擇 Apache 或者 Nginx;
- 運行 ASP/ASP.NET 網站一般選擇 IIS;
- 運行?Python?網站一般選擇內置的?WSGI 服務器模塊——wsgiref。
常用的 Web 容器有 Tomcat、Jboss、Jetty、WebLogic 等,其中 Tomcat 由 Java 官方提供,Web 容器往往也會自帶 Web 服務器模塊,提供基本的 HTTP 服務,因此這里的 Web容器 = Web服務器 + Servlet容器
TOMCAT
子目錄 | 說明 |
---|---|
bin?????? | 命令中心(啟動命令,關閉命令……) |
conf????? | 配置中心(端口號,內存大小……) |
lib??????? | Tomcat 的庫文件。Tomcat 運行時需要的 jar 包所在的目錄。 |
logs?????? | 存放日志文件。 |
temp????? | 存儲臨時產生的文件,即緩存。 |
webapps?? | 存放項目的文件,web 應用放置到此目錄下瀏覽器可以直接訪問。 |
work????? | 編譯以后的 class 文件。 |
在?Servlet?中,一個動態網頁對應一個 Servlet 類,我們可以通過 web.xml 配置文件將 URL 路徑和 Servlet 類對應起來。訪問一個動態網頁的過程,實際上是將對應的 Servlet 類加載、實例化并調用相關方法的過程;網頁上顯示的內容,就是通過 Servlet 類中的某些方法向瀏覽器輸出的 HTML 語句。
serlet三種創建方式
在Serlet中,一個動態網頁對應一個 Servlet 類,我們可以通過 web.xml 配置文件將 URL 路徑和 Servlet 類對應起來。
所以,使用 Servlet 創建動態網頁的第一步,就是創建 Servlet 類。
Servlet 規范的最頂層是一個名為?javax.servlet.Servlet 的接口,所有的 Servlet 類都要直接或者間接地實現該接口。直接實現 Servlet 接口不太方便,所以 Servlet 又內置了兩個 Servlet 接口的實現類(抽象類),分別為 GenericServlet 和 HttpServlet,因此,創建 Servlet 類有如下三種方式:
- 實現 javax.servlet.Servlet 接口,重寫其全部方法。
- 繼承 javax.servlet.GenericServlet 抽象類,重寫 service() 方法。
- 繼承 javax.servlet.http.HttpServlet 抽象類,重寫 doGet() 或 doPost() 方法。
Servlet?沒有 main() 方法,不能獨立運行,但它可以作為 JavaWeb 應用的一個組件被部署到 Servlet 容器中,由容器來實例化和調用 Servlet 的方法,
JavaWeb 應用
JavaWeb 應用由一組 Servlet/JSP、HTML 文件、相關 Java 類、以及其他的資源組成,它可以在由各種供應商提供的 Servlet 容器中運行。由 JavaWeb 應用的定義可知, Servlet 是 JavaWeb 應用的一個組件。
以 Tomcat 為例,通常將 JavaWeb 應用存放到 Tomcat 的 webapps 目錄下。
在 Tomcat 中部署 JavaWeb 應用最快捷的方式,就是直接將?JavaWeb 應用的所有文件復制到 Tomcat 的 /webapps 目錄下。在默認情況下,Tomcat 會自動加載 webapps 目錄下的 JavaWeb 應用,并把它發布到名為 localhost 的虛擬主機中。