JavaWeb開發入門第一篇必備知識解說。本站提示廣大學習愛好者:(JavaWeb開發入門第一篇必備知識解說)文章只能為提供參考,不一定能成為您想要的結果。以下是JavaWeb開發入門第一篇必備知識解說正文
一、根本概念
1.1、WEB開發的相關知識
WEB,在英語中web即表示網頁的意思,它用於表示Internet主機上供外界訪問的資源。
Internet上供外界訪問的Web資源分為:
1)、靜態web資源(如html 頁面):指web頁面中供人們閱讀的數據一直是不變。
2)、靜態web資源:指web頁面中供人們閱讀的數據是由順序發生的,不同時間點訪問web頁面看到的內容各不相反。
靜態web資源開發技術:Html
常用靜態web資源開發技術:JSP/Servlet、ASP、PHP等
在Java中,靜態web資源開發技術統稱為Javaweb。
1.2、WEB使用順序
WEB使用順序指供閱讀器訪問的順序,通常也簡稱為web使用。例如有a.html 、b.html…..多個web資源,這多個web資源用於對外提供服務,此時應把這多個web資源放在一個目錄中,以組成一個web使用(或web使用順序)
一個web使用由多個靜態web資源和靜態web資源組成,如:html、css、js文件,Jsp文件、java順序、支持jar包、配置文件等等。
Web使用開發好後,若想供外界訪問,需求把web使用所在目錄交給web服務器管理,這個進程稱之為虛似目錄的映射
1.3、WEB開展史
WEB開展的兩個階段:靜態、靜態
1.4、靜態WEB
*htm、*html,這些是網頁的後綴,假如如今在一個服務器上直接讀取這些內容,那麼意味著是把這些網頁的內容經過網絡服務器展示給用戶。整個靜態WEB操作的進程圖如下:
在靜態WEB順序中,客戶端運用WEB閱讀器(IE、FireFox等)經過網絡(Network)銜接到服務器上,運用HTTP協議發起一個懇求(Request),通知服務器我如今需求失掉哪個頁面,一切的懇求交給WEB服務器,之後WEB服務器依據用戶的需求,從文件零碎(寄存了一切靜態頁面的磁盤)取出內容。之後經過WEB服務器前往給客戶端,客戶端接納到內容之後經過閱讀器渲染解析,失掉顯示的效果。
靜態WEB中存在以下幾個缺陷:
1、Web頁面中的內容無法靜態更新,一切的用戶每時每刻看見的內容和最終效果都是一樣的。
為了可以讓靜態的WEB的顯示愈加美觀,可以參加了JavaScript以完成一些頁面上的顯示特效,但是這些特效都是在客戶端上借助於閱讀器展示給用戶的,所以在服務器上自身並沒有任何的變化。
完成靜態WEB客戶端靜態效果的手腕:
JavaScript
VBScript
在實踐的開發中JavaScript運用得最多。
2、靜態WEB無法銜接數據庫,無法完成和用戶的交互。
運用數據庫保管數據是如今大少數零碎的選擇,由於數據庫中可以方便地管理數據,增刪改查操作可以運用規范的SQL語句完成。
1.5、靜態WEB
所謂的靜態不是指頁面會動,次要的特性的是:“WEB的頁面展現效果因時因人而變”,而且靜態WEB具有交互性,WEB的頁面的內容可以靜態更新。整個靜態WEB操作的進程圖如下:
靜態WEB中,順序仍然運用客戶端和服務端,客戶端仍然運用閱讀器(IE、FireFox等),經過網絡(Network)銜接到服務器上,運用HTTP協議發起懇求(Request),如今的一切懇求都先經過一個WEB Server Plugin(服務器插件)來處置,此插件用於區分是懇求的是靜態資源(*.htm或許是*.htm)還是靜態資源。
假如WEB Server Plugin發現客戶端懇求的是靜態資源(*.htm或許是*.htm),則將懇求直接轉交給WEB服務器,之後WEB服務器從文件零碎中取出內容,發送回客戶端閱讀器停止解析執行。
假如WEB Server Plugin發現客戶端懇求的是靜態資源(*.jsp、*.asp/*.aspx、*.php),則先將懇求轉交給WEB Container(WEB容器),在WEB Container中銜接數據庫,從數據庫中取出數據等一系列操作後靜態拼湊頁面的展現內容,拼湊頁面的展現內容後,把一切的展現內容交給WEB服務器,之後經過WEB服務器將內容發送回客戶端閱讀器停止解析執行。
1.6、靜態WEB使用的完成手腕
靜態WEB如今的完成手腕十分多,較為罕見的有以下幾種:
Microsoft ASP、ASP.NET
PHP
JAVA Servlet/JSP
1、Microsoft ASP、ASP.NET
微軟公司靜態WEB開發是比擬早的,而且最早在國際最盛行的是ASP。ASP就是在HTML言語之中添加了VB腳本,但是規范的開發使用應該是運用ASP+COM,但是實踐狀況來看,在開發ASP的時分根本上都在一個頁面中寫上成百上千的代碼,頁面代碼極端混亂。
ASP自身有開發平台的限制:Windows+IIS+SQL Server/Access,ASP只能運轉在Windows操作零碎上,ASP如今根本上曾經淘汰,如今根本上都是運用ASP.NET停止開發,ASP.NET在功能有了很大的改善,而且開發迅速,但是仍然受限於平台。ASP.NET中次要是運用C#言語。
2.PHP
PHP開發速度很快,功用弱小,跨平台(平台指的就是運轉的操作零碎),而且代碼也復雜。
3.Servlet/JSP
這是SUN公司(SUN如今曾經被Oracle公司收買)主推的B/S架構的完成言語,是基於JAVA言語開展起來的,由於JAVA言語足夠復雜,而且很潔淨。
Servlet/JSP技術的功能也是十分高的,不受平台的限制,各個平台根本上都可以運用。而且在運轉中是運用多線程的處置方式,所以功能十分高。
SUN公司最早推出的WEB技術推出的是Servlet順序,Servlet順序自身運用的時分有一些問題,一切的順序是采用JAVA代碼+HTML的方式編寫的,即,要運用JAVA輸入語句,一行一行地輸入一切的HTML代碼,之後,SUN公司遭到了ASP的啟示,開展出了JSP(Java Server Page),JSP某些代碼的編寫效果與ASP是十分類似的。這樣可以很方便地使一些ASP順序員轉向JSP的學習,加大市場的競爭力度。
二、WEB服務器
2.1、WEB服務器簡介
1、Web服務器是指駐留於因特網上某品種型計算機的順序,是可以向收回懇求的閱讀器提供文檔的順序。當Web閱讀器(客戶端)連到服務器上並懇求文件時,服務器將處置該懇求並將文件反應到該閱讀器上,附帶的信息會通知閱讀器如何檢查該文件(即文件類型)。
2、服務器是一種主動順序:只要當Internet上運轉在其他計算機中的閱讀器收回懇求時,服務器才會呼應。
2.2、罕見的Web服務器引見
1、WebLogic
WebLogic是美國bea公司出品的一個application server。BEA WebLogic是用於開發、集成、部署和管理大型散布式Web使用、網絡使用和數據庫使用的Java使用服務器。將Java的靜態功用和Java Enterprise規范的平安性引入大型網絡使用的開發、集成、部署和管理之中。是目前使用最普遍的Web服務器,支持J2EE標准,而且不時的完善以順應新的開發要求,啟動界面如圖
2、WebSphere
WebSphere Application Server 是一種功用完善、開放的Web使用順序服務器,是IBM公司電子商務方案的中心局部,它是基於 Java 的使用環境,用於樹立、部署和管理 Internet 和 Intranet Web 使用順序。這一整套產品停止了擴展,以順應 Web使用順序服務器的需求,范圍從復雜到初級直到企業級。啟動界面如圖:
3、Tomcat
TomcatTomcat是一個完成了JAVA EE規范的最小的WEB服務器,是Apache 軟件基金會的Jakarta 項目中的一個中心項目,由Apache、Sun 和其他一些公司及團體共同開發而成。由於Tomcat 技術先進、功能波動,而且開源收費,因此深受Java 喜好者的喜歡並失掉了局部軟件開發商的認可,成為目前比擬盛行的Web 使用服務器。學習JavaWeb開發普通都運用Tomcat服務器,該服務器支持全部JSP以及Servlet標准,啟動界面如圖:
4、IIS
Microsoft的Web服務器產品為Internet Information Services (IIS),IIS 是允許在公共Intranet或Internet上發布信息的Web服務器。ⅡS是目前最盛行的Web服務器產品之一,很多著名的網站都是樹立在ⅡS的平 台上。IIS提供了一個圖形界面的管理工具,稱為Internet信息服務管理器,可用於監視配置和控制Internet服務。
IIS是一種Web服務組件,其中包括Web服務器、FTP服務器、NNTP服務器和SMTP服務器,辨別用於網頁閱讀、文件傳輸、舊事服務和郵件發送等方面,它使得在網絡(包括互聯網和局域網)上發布信息成了一件很容易的事。它提供ISAPI(Intranet Server API)作為擴展Web服務器功用的編程接口;同時,它還提供一個Internet數據庫銜接器,可以完成對數據庫的查詢和更新。
學習web開發,需求先裝置一台web服務器,然後再在web服務器中開發相應的web資源,供用戶運用閱讀器訪問。
三、搭建JavaWeb使用開發環境——Tomcat服務器
3.1、疑問:學習web開發,為什麼必需要先裝一個WEB服務器?
在本地計算機上隨意創立一個web頁面,用戶是無法訪問到的,但是假如啟動tomcat服務器,把web頁面放在tomcat服務器中,用戶就可以訪問了。這闡明什麼問題?
1、不論什麼web資源,想被近程計算機訪問,都必需有一個與之對應的網絡通訊順序,當用戶來訪問時,這個網絡通訊順序讀取web資源數據,並把數據發送給來訪者。
2、WEB服務器就是這樣一個順序,它用於完成底層網絡通迅。運用這些服務器,We使用的開發者只需求關注web資源怎樣編寫,而不需求關懷資源如何發送到客戶端手中,從而極大的加重了開發者的開發任務量。
3.2、下載和裝置Tomcat服務器
Tomcat官方站點:http://jakarta.apache.org
下載Tomcat裝置順序包:http://tomcat.apache.org/
點擊【Download】跳轉到如下圖所示的下載頁面
tar.gz文件是Linux操作零碎下的裝置版本
exe文件是Windows零碎下的裝置版本
zip文件是Windows零碎下的緊縮版本
下載完成後,失掉的是一個緊縮包,將緊縮包解壓就可以完成Tomcat服務器的裝置
3.3、啟動和測試Tomcat服務器
啟動Tomcat服務器
雙擊 bin 目錄下的 startup.bat 文件啟動Tomcat服務器
測試Tomcat服務器
翻開閱讀器,輸出http://localhost:8080/,能顯示如下界面代表裝置成功。
3.4、Tomcat啟動罕見問題
招致Tomcat服務器無法正常啟動的緣由普通來說就是如下的兩個:
1、JAVA_HOME環境變量設置問題
要想雙擊bin目錄下的startup.bat文件啟動Tomcat服務器,首先要做的就是在windows中設置JAVA_HOME環境變量,由於Tomcat服務器的啟動需求用到這個JAVA_HOME環境變量,假如windows中不存在JAVA_HOME環境變量,則Tomcat服務器是無法啟動的。
在Window中配置JAVA_HOME變量
操作步驟(win7零碎):計算機→右鍵“屬性”→初級零碎設置→初級→環境變量,如下圖所示:
點擊零碎變量上面的“【新建】”,彈出一個新建零碎變量對話框,首先在變量名寫上JAVA_HOME,望文生義,JAVA_HOME的含義就是JDK的裝置途徑,,然後在變量值寫JDK的裝置途徑,如這裡設置的變量值是"D:\Program Files (x86)\Java\jdk1.7.0",設置好變量值之後,點擊【確定】按鈕,JAVA_HOME環境變量就設置完成,如下圖所示:零碎變量中多了一個"JAVA_HOME"變量。
正常來說,學習Java開發的第一步就是配置Path環境變量,比擬好的配置方式是先配置JAVA_HOME環境變量,然後在Path變量中運用"%JAVA_HOME%"援用JAVA_HOME變量的值。
所以這個JAVA_HOME環境變量在Window中普通都是曾經配置好了的,假如遺忘配置JAVA_HOME環境變量,那麼可以運用上述的方式配置
2、端口占用問題
由於Tomcat服務器啟動時是需求默許是運用8080端口的,假如這個8080端口被別的使用順序占用了,那麼Tomcat服務器就無法正常啟動,看到的景象就是"Tomcat服務器啟動界面會打印出異常錯誤信息,然後就自動封閉了",如下圖所示:
由於這個窗口從啟動到封閉的時間十分短,我們很難經過這個窗口看到Tomcat啟動時的報錯異常信息,因而我們普通只能經過Tomcat服務器的記載的log(日志)信息去檢查Tomcat服務器的運轉狀況。
在Tomcat服務器的根目錄下有一個logs文件夾,
logs文件夾寄存Tomcat 的日志文件,翻開logs文件夾,可以看到外面的log文件,其中有一個以"catalina.yyyy-MM-dd.log"方式命名的log文件,例如"catalina.2014-05-17.log"日志文件就是記載Tomcat服務器2014-05-17這一天的運轉狀況。
翻開catalina.2014-05-17.log文件,看看外面的日志記載信息,
日志信息外面清楚的記載了Tomcat服務器的運轉狀況,假如由於8080端口被占用而無法正常啟動,就會記載如上圖所示的異常信息,經過檢查異常信息,我們就可知道Tomcat服務器為什麼不可以正常啟動了!
總結:當Tomcat服務器無法正常啟動時,首先反省能否配置了JAVA_HOME環境變量,然後再反省Tomcat服務器啟動時的端口能否被別的使用順序占用了。