1. 程式人生 > >JavaWeb介紹與Tomcat下載啟動

JavaWeb介紹與Tomcat下載啟動

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,FirefoxInternet Explorer,服務器安裝OracleSybaseInformixSQL 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已經配置了就可以忽略:

  1. 配置JAVA_HOME,變量值是JDK的安裝目錄:

技術分享


  1. 配置PATH,PATH配置的是JDK的bin目錄:

技術分享


3. 配置CATALINA_HOME,這是配置Tomcat的主目錄:

技術分享


思維導圖:

技術分享


環境變量配置完之後就可以去啟動Tomcat了,到bin目錄下找到startup雙擊就可以啟動了:

技術分享


啟動成功:

技術分享


關於Tomcat啟動時閃退的問題:

  1. 如果你啟動Tomcat時出現閃退的情況,一般是環境變量沒有配置好,這時候仔細檢查一下環境變量,特別是CATALINA_HOME環境變量。

  2. 然後就是已經有Tomcat啟動了,所以端口占用的情況下也會出現閃退。

  3. 我們可以把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下載啟動