JavaWeb介紹與Tomcat下載啟動
JavaWeb介紹
JavaWeb也就是J2EE,JavaWeb主要是使用各種Java企業級技術來解決相關web互聯網領域的技術總和。
而且這些技術有一個標準也就是J2EE規範,J2EE規範是這樣定義J2EE組件的:客戶端應用程序和applet是運行在客戶端的組件;Java Servlet和Java Server Pages (JSP) 是運行在服務器端的Web組件;Enterprise Java Bean (EJB )組件是運行在服務器端的業務組件。J2EE組件和“標準的” Java類的不同點在於:它被裝配在一個J2EE應用中,具有固定的格式並遵守J2EE規範,由J2EE服務器對其進行管理。
所以web包括:web服務器和web客戶端兩部分。Java在服務器端的應用非常的豐富,比如Servlet,JSP和第三方框架等等。
常見的技術有以下幾種:
程序架構通常分為C/S和B/S架構:
C/S架構:
現在最常見的兩種程序架構方式就是C/S和B/S架構,C/S也就是Client/Server架構,即客戶端/服務器架構。是大家熟知的軟件系統體系結構,通過將任務合理分配到Client端和Server端,降低了系統的通訊開銷,需要安裝
所以C/S架構的程序對能夠減輕服務器壓力,而且客戶端是安裝在用戶本地的電腦上,調用本地的一些硬件設備就比較方便,適合用於大型遊戲、音頻軟件、各種工具類軟件的程序架構方式。
但是C/S架構也有缺點,升級更新還有維護比較麻煩,系統升級的話,全部的客戶端都需要升級,而且沒有客戶端的話就無法使用任何的功能,設備需要提前安裝、更新客戶端。
因為這些特性,數據管理軟件、網上購物、信息交互部分都不適合使用C/S架構。
C/S程序架構示意圖:
B/S架構:
另外一種B/S架構,即Browser/Server (瀏覽器/服務器) 結構,是隨著Internet技術的興起,對C/S結構的一種變化或者改進的結構。在這種結構下,用戶界面完全通過瀏覽器實現。在這種結構下,用戶工作界面是通過瀏覽器來實現,極少部分事務邏輯在前端(Browser)實現,但是主要事務邏輯在服務器端(Server)實現,形成所謂三層3-tier結構。B/S結構是WEB興起後的一種網絡結構模式,WEB瀏覽器是客戶端最主要的應用軟件。這種模式統一了客戶端,將系統功能實現的核心部分集中到服務器上,簡化了系統的開發、維護和使用。
客戶機上只要安裝一個瀏覽器(Browser),如Chrome,Firefox或Internet Explorer,服務器安裝Oracle、Sybase、Informix或 SQL Server等數據庫。瀏覽器通過Web Server同數據庫進行數據交互。 以為頁面上的內容全部都是從服務器上下載下來的,以後客戶端沒有什麽更新這一說,這樣就大大簡化了客戶端電腦載荷,減輕了系統維護與升級的成本和工作量,降低了用戶的總體成本,在瀏覽器上只需要刷新一下就能看到最新的內容,不用更新客戶端。
但是B/S架構也有相應的缺點,遊戲方面只能做網頁小遊戲,如果是大型遊戲的話瀏覽器受不了,而且網絡和服務器也支撐不了,因為全部的特效渲染、數據計算都得在服務器上完成後通過網絡發送到瀏覽器上,這是不可能完成的,所以B/S架構不適合做大型遊戲。B/S架構不能像C/S架構那樣方便的訪問、調用用戶本地的硬件設備,訪問起來很麻煩。B/S架構把系統功能實現的核心部分集中到服務器上,所以服務器的壓力也比較大。
B/S程序架構示意圖:
兩種程序架構的思維導圖:
在B/S架構的程序中,通過瀏覽器對服務器進行的請求分為動態請求和靜態請求:
靜態請求:
所謂靜態請求,就是訪問網頁時僅從服務器上下載靜態文件,例如網頁的html、js、css、圖片文件等,都屬於靜態文件。示意圖:
動態請求:
動態請求則是你的請求會經過服務器上的程序處理,和與數據庫交互,然後再反饋到網頁上,例如最經典的動態請求就是登錄賬戶,示意圖:
可以實現動態頁面的常見技術:
關於為什麽B/S架構的服務器壓力比較大:
這是因為所有的網頁文件都是存放在服務器的,所以客戶通過瀏覽器訪問網頁時都是需要從服務器上下載的。並且所有的請求處理都在服務器上進行,動態請求還得需要通過服務器上的應用程序進行處理,並且還要與數據庫進行數據的交互,所以相對於C/S架構來說B/S架構的服務器壓力要大,通過搭建服務器分布式處理和集群架構能提升服務器的性能,從而可以解決服務器由於性能不足而出現的負載過高的問題。
Tomcat下載和啟動
Tomcat是Apache 軟件基金會(Apache Software Foundation)的Jakarta 項目中的一個核心項目,由Apache、Sun 和其他一些公司及個人共同開發而成。由於有了Sun 的參與和支持,最新的Servlet 和JSP 規範總是能在Tomcat 中得到體現,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 規範。因為Tomcat 技術先進、性能穩定,而且免費,因而深受Java 愛好者的喜愛並得到了部分軟件開發商的認可,成為目前比較流行的Web 應用服務器,主要是應用於Java方面。
Tomcat 服務器是一個免費的開放源代碼的Web 應用服務器,目前Tomcat最新版本為9.0,屬於輕量級應用服務器,在中小型系統和並發訪問用戶不是很多的場合下被普遍使用,是開發和調試JSP 程序的首選。對於一個初學者來說,可以這樣認為,當在一臺機器上配置好Apache 服務器,可利用它響應HTML(標準通用標記語言下的一個應用)頁面的訪問請求。實際上Tomcat是Apache 服務器的擴展,但運行時它是獨立運行的,所以當你運行tomcat 時,它實際上作為一個與Apache 獨立的進程單獨運行的。
Tomcat由於是使用Java開發的,所以在任何的系統平臺只要有JDK都能運行,我們可以在官網下載到Tomcat服務器,網址:
http://tomcat.apache.org/
我下載的是9.0版本:
下載好後解壓到自己指定的路徑,然後可以看到解壓後的目錄下,有這幾個文件夾:
關於這些目錄的作用可以參考以下思維導圖:
然後就是配置環境變量了:
我們需要配置三個環境變量,1.JAVA_HOME 2.PATH 3.CATALINA_HOME,如果JAVA_HOME已經配置了就可以忽略:
配置JAVA_HOME,變量值是JDK的安裝目錄:
配置PATH,PATH配置的是JDK的bin目錄:
3. 配置CATALINA_HOME,這是配置Tomcat的主目錄:
思維導圖:
環境變量配置完之後就可以去啟動Tomcat了,到bin目錄下找到startup雙擊就可以啟動了:
啟動成功:
關於Tomcat啟動時閃退的問題:
如果你啟動Tomcat時出現閃退的情況,一般是環境變量沒有配置好,這時候仔細檢查一下環境變量,特別是CATALINA_HOME環境變量。
然後就是已經有Tomcat啟動了,所以端口占用的情況下也會出現閃退。
我們可以把startup拖到cmd裏執行,會反饋出錯誤日誌,示例:
以上這個信息就是CATALINA_HOME環境變量沒有配置好
如果檢查了環境變量都沒有問題,還是依舊閃退的話,可以自己創建一個run.bat文件(名稱可自定義),然後定義如下內容:
set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_112
set PATH=%JAVA_HOME%\bin;%PATH%
set CATALINA_HOME=..
startup.bat
然後點擊這個新建的bat文件來啟動,一般這種方法就能夠解決環境變量的問題。
啟動成功後,通過瀏覽器訪問http://localhost:8080/,因為Tomcat的默認端口是8080,出現以下頁面就是啟動成功並且能夠訪問Tomcat的默認頁面了:
思維導圖:
本文出自 “zero” 博客,請務必保留此出處http://zero01.blog.51cto.com/12831981/1977550
JavaWeb介紹與Tomcat下載啟動