Java學習筆記-Day52 JavaWeb、Tomcat、Servlet
Java學習筆記-Day52 JavaWeb
一、基本概念
1、網路應用
網路應用,可以分為C/S和B/S兩種:
(1)C/S結構 是Client/Server(客戶機/伺服器)的簡稱,桌面應用程式採用的多是這種結構。例如:QQ
(2)B/S結構 是Browser/Server(瀏覽器/伺服器)的簡稱,特點是客戶端無需安裝特定的軟體,只需要安裝一個瀏覽器就可以與系統進行互動。例如:百度
C/S需要安裝客戶端軟體,但是操作往往更為便捷。B/S不需要安裝客戶端軟體,但是使用者體驗往往不如C/S好,安全性也較C/S要低。
RIA 是“Rich Internet Applications”的縮寫,意為富客戶端網路應用。RIA的主要目標:基於B/S結構,只要有瀏覽器就可以使用,在瀏覽器裡實現與客戶端軟體類似的體驗。例如:可以區域性重新整理、可以拖拽等。Web前端工程師較多關注RIA技術。
JavaEE:採用B/S結構,需要在伺服器中安裝Tomcat軟體。
2、Web站點和Web應用
(1)Web站點( Web Site ),也被稱為Web網站和靜態網頁(HTML頁面),該站點只用於顯示網頁,不提供服務。
(2)Web應用( Application ),也被稱為動態網站(動態地更新網頁的內容),通過瀏覽器訪問的應用程式,從而為使用者提供相關的服務。
動態網站的含義是網站內容的動態化,而不僅是網頁上是否具有動畫,靜態是建立動態網頁的基礎,靜態網頁由網頁設計師產生可供瀏覽器瀏覽的內容,而動態網站由網站程式設計人員編寫程式來動態產生網頁。靜態網頁一般以html作為副檔名,而動態的網站一般是由ASP、JSP、PHP或ASP.NET等伺服器端程式語言構建的,網站的內容由臺資料庫儲存,因此副檔名一般是asp、jsp、php或aspx。
3、HTTP伺服器和Web應用伺服器
(1)HTTP伺服器:也稱為Web伺服器,主要功能是提供網上資訊瀏覽服務,例如Apache、Nginx、IIS是比較常用的HTTP伺服器。使用瀏覽器訪問Web站點或者Web應用,則必須通過HTTP伺服器。
(2)Web應用伺服器:Web應用伺服器能夠執行伺服器上的應用程式,並將結果返回給客戶端瀏覽器。例如,Tomcat就是一種Web應用伺服器。通常情況下,Web應用伺服器兼具HTTP伺服器的部分功能。
Web站點只需要瀏覽資訊,所以只需要HTTP伺服器即可。Web應用需要HTTP伺服器及Web應用伺服器,因為不僅需要瀏覽資訊,還需要執行應用程式。很多Web應用伺服器都兼具HTTP伺服器的部分功能,因此使用Web應用伺服器即可。
可以使用Servlet和JSP開發Web應用,Servlet和JSP是JavaEE中的Web元件,Web元件都需要執行在Web應用伺服器上。
二、Tomcat
1、簡介
選用Apache軟體基金會的Tomcat做為應用伺服器,也稱為Servlet容器(Container)。Tomcat開源、免費,在中小型系統和併發訪問使用者不是很多的場合下被普遍使用,是開發和除錯Servlet/JSP程式的首選。
(1)下載:下載地址為 http://tomcat.apache.org/
,採用Tomcat9.0版本。
(2)安裝:下載到的是一個壓縮包,解壓縮即可。注意:解壓路徑不要包含中文或空格等。
2、Tomcat的目錄結構
(1)bin目錄:用於存放 Tomcat的啟動、停止等批處理指令碼和Shell指令碼。
(2)conf目錄:用於存放 Tomcat的相關配置檔案。
(3)lib目錄:Tomcat伺服器依賴庫目錄,包含Tomcat伺服器執行環境依賴jar包。
(4)logs目錄:Tomcat預設的日誌存放路徑。
(5)temp目錄:存放tomcat在執行過程中產生的臨時檔案。
(6)webapps目錄:Tomcat預設的Web應用部署目錄。
(7)work目錄:存放Web應用JSP程式碼生成和編譯後產生的class檔案目錄。
3、Tomcat的配置
Tomcat啟動前需安裝jdk,並配置好jdk的環境變數JAVA_HOME。
可以通過conf目錄中的server.xml的Connector標籤的port屬性修改埠號,埠號預設為8080。修改後需要重新啟動Tomcat。
可以通過bin目錄中的startup.bat檔案啟動Tomcat,通過shutdown.bat關閉Tomcat。通過startup.bat檔案啟動Tomcat,則會出現一個命令視窗,該命令視窗關閉後,Tomcat也會關閉。
如果出現亂碼,則是因為Tomcat的編碼格式與系統的編碼格式不一致。需要修改conf目錄下的logging.properties的ConsoleHandler.encoding為GBK (不區分大小寫)。
4、eclipse配置Tomcat
(1)window -> preference -> Server ->RuntimeEnvironment -> add -> Apache Tomcat v9.0 -> Next -> JRE(電腦上安裝的jdk) -> Finish。
(2)window -> preference -> Web Server -> Server and Runtime -> Tomcat v9.0 Server -> Apply。
(3)window -> show views -> servers ->單擊藍色文字 -> 選擇 Tomcat v9.0 server -> Finish -> 雙擊出現的黑色文字 -> 在Server Locations中選擇use Tomcat installation -> 在Deploy path 中填寫 webapps。
5、建立動態Web專案
步驟:右鍵 -> New -> other -> Web -> Dynamic Web project ( 動態Web專案 ) -> Next -> Dynamic web module version(3.0) -> Next ->Generate web.xml deployment descriptor 打勾-> Finish。
目錄結構:① src:用來存放java、servlet ② WebContent:存放html、css、js、jsp
6、部署和移除
6.1、部署
在Tomcat v9.0 Server at localhost 右鍵 -> Add and Remove -> 選擇專案 -> Add -> Finish。這時候會將eclipse的web專案部署到Tomcat的webapps中。在webapps中的web專案結構與eclipse專案的目錄結構是不同的。
可通過 127.0.0.1:8080/專案名/檔名(html檔案、jsp檔案或servlet檔案)檢視網頁內容。
6.2、移除
在Tomcat v9.0 Server at localhost 右鍵 -> Add and Remove -> 選擇專案 -> Remove -> Finish。這時候會將Tomcat的webapps中對應的專案移除,而eclipse中的專案不受影響,依然存在。
6.3、JSP檔案
JSP是包含Java程式碼的html檔案,用來展示資料。雖然servlet和jsp都能展示資料,但是通常不會使用servlet顯示資料,而是使用jsp來展示資料。
新建JSP檔案:在WebContent目錄右鍵 -> new -> JSP File -> Finish。
在JSP檔案總,快捷鍵 ctrl+shift+o
是無效的,而快捷鍵 Alt+/
是有效的。
JSP中的語法:
(1)指令:用來導包和做一些文件的設定。語法:<%@指令 %>
<%@page import="com.etc.bs.service.BlogService"%>
<%@page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
(2)小指令碼:用來編寫Java程式碼。語法:<% Java程式碼 %>
<%
System.out.println("小指令碼");
System.out.println("Java程式碼");
%>
(3)表示式:用來做頁面輸出。語法:<%=表示式%>
<% String s = "this.is jsp"%>
<%=s%>
JSP中的執行過程:jsp檔案通過Tomcat翻譯成java檔案(servlet),java檔案再通過虛擬機器編譯成class位元組碼檔案。實際上響應給瀏覽器的是位元組碼檔案,所以有時候第一次載入網頁時可能比較慢,而後面再載入網頁時速度較快,生成的java檔案和位元組碼檔案都在Tomcat根目錄的work目錄之中。
Jar包的配置:Jar放到WebContent/WEB-INF/lib中,正常會自動加入構建路徑。可以在javaResources-> Libraries->Web App Libraries 檢視是否構建。
jdbc的DBUtil工具類需要載入驅動 class.forName("com.mysql.cj.jdbc.Driver");
。
Web專案的程式碼寫好之後,需要重新啟動Tomcat Service,同時要關注控制檯的輸出資訊。
三、Servlet
1、簡介
Servlet是一個java的類,這個類必須繼承於 javax.servlet.http.HttpServlet類。通常在web專案中新建一個名為controller的包來存放servlet檔案。
2、生命週期
Servlet是單例模式,當使用者第一次從瀏覽器請求訪問Servlet時,對應的Servlet的生命週期為:
(1)Tomcat 呼叫 Servlet 的構造方法,建立該類的物件。
(2)Tomcat 呼叫 JavaEE API 中的初始化方法:先呼叫有引數的init方法,再呼叫無參的init方法,進行初始化工作。(init方法只執行一次)
(3)初始化成功後,呼叫服務方法,通過判斷請求方式,呼叫相應的 doXxx 方法,如 doGet、doPost 等方法。(服務方法執行多次)
(4)doXxx 方法正常返回後,即提供服務結束。
(5)Tomcat 根據使用情況,在適當的時機銷燬 Servlet 物件,銷燬前呼叫 destroy 方法。
(6)垃圾回收finalize方法(虛擬機器呼叫,只執行一次)。
相關文章
- JavaWeb學習筆記~01.ServletJavaWeb筆記Servlet
- java基礎學習:JavaWeb之ServletJavaWebServlet
- Tomcat學習筆記—-本地部署servlet動態資源Tomcat筆記Servlet
- Servlet學習筆記Servlet筆記
- JavaWeb學習筆記JavaWeb筆記
- JavaWeb 學習筆記JavaWeb筆記
- Tomcat&Servlet學習TomcatServlet
- JavaWeb中的Tomcat,Servlet詳解JavaWebTomcatServlet
- 初識Javaweb之Servlet以及TomcatJavaWebServletTomcat
- Tomcat學習筆記Tomcat筆記
- Java學習筆記-Day53 Servlet與JSPJava筆記ServletJS
- 狂神說Java Web學習筆記_TomcatJavaWeb筆記Tomcat
- 筆記-JavaWeb學習之旅17筆記JavaWeb
- javaweb關於jsp、servlet基礎筆記JavaWebJSServlet筆記
- Java學習筆記:Javaweb的伺服器介紹Java筆記Web伺服器
- 非同步Servlet學習筆記(一)非同步Servlet筆記
- JavaWeb基礎-學習筆記02JavaWeb筆記
- JavaWeb學習筆記後端部分JavaWeb筆記後端
- JavaWeb基礎(day15)( http + tomcat + servlet + 響應)JavaWebHTTPTomcatServlet
- JavaWeb學習筆記——第十四天JavaWeb筆記
- JavaWeb學習筆記——第七天JavaWeb筆記
- JavaWeb學習筆記——第十一天JavaWeb筆記
- JavaWeb學習筆記——第九天JavaWeb筆記
- JavaWeb學習筆記——第一天JavaWeb筆記
- JavaWEB - ServletJavaWebServlet
- JavaWeb——ServletJavaWebServlet
- JAVA學習筆記Java筆記
- JavaWeb學習筆記_Day03_JavaScript詳解Web筆記JavaScript
- 《JAVA學習指南》學習筆記Java筆記
- JAVA程式設計學習記錄(JavaWeb-Html)Java程式設計WebHTML
- Java學習筆記4Java筆記
- Java JNI 學習筆記Java筆記
- java學習筆記6Java筆記
- Java 集合學習筆記Java筆記
- Servlet筆記Servlet筆記
- Java學習筆記記錄(二)Java筆記
- Java基礎學習筆記Java筆記
- 【部分】Java速成學習筆記Java筆記