Java Web開發(fā)入門學習小總結

一个扰、基本概念

1巷波、WEB開發(fā)的相關知識

WEB萎津,在英語中web即表示網頁的意思,它用于表示Internet主機上供外界訪問的資源抹镊。

Internet上供外界訪問的Web資源分為:

靜態(tài)web資源(如html 頁面):指web頁面中供人們?yōu)g覽的數據始終是不變锉屈。

動態(tài)web資源:指web頁面中供人們?yōu)g覽的數據是由程序產生的,不同時間點訪問web頁面看到的內容各不相同垮耳。

靜態(tài)web資源開發(fā)技術:Html

常用動態(tài)web資源開發(fā)技術:JSP/Servlet颈渊、ASP杈帐、PHP等

在Java中她君,動態(tài)web資源開發(fā)技術統(tǒng)稱為Javaweb。


Java Web相關最新視頻教程在線觀看:https://www.bilibili.com/video/BV1Z3411C7NZ/

2、WEB應用程序

WEB應用程序指供瀏覽器訪問的程序投储,通常也簡稱為web應用。例如有a.html 睹簇、b.html…..多個web資源驶悟,這多個web資源用于對外提供服務,此時應把這多個web資源放在一個目錄中妹田,以組成一個web應用(或web應用程序)

一個web應用由多個靜態(tài)web資源和動態(tài)web資源組成唬党,如:html、css鬼佣、js文件驶拱,Jsp文件、java程序晶衷、支持jar包蓝纲、配置文件等等。

Web應用開發(fā)好后晌纫,若想供外界訪問税迷,需要把web應用所在目錄交給web服務器管理,這個過程稱之為虛似目錄的映射

3锹漱、WEB發(fā)展史

WEB發(fā)展的兩個階段:靜態(tài)箭养、動態(tài)

4、靜態(tài)WEB

*htm哥牍、*html毕泌,這些是網頁的后綴,如果現在在一個服務器上直接讀取這些內容嗅辣,那么意味著是把這些網頁的內容通過網絡服務器展現給用戶撼泛。整個靜態(tài)WEB操作的過程圖如下

在靜態(tài)WEB程序中,客戶端使用WEB瀏覽器(IE澡谭、FireFox等)經過網絡(Network)連接到服務器上愿题,使用HTTP協議發(fā)起一個請求(Request),告訴服務器我現在需要得到哪個頁面蛙奖,所有的請求交給WEB服務器潘酗,之后WEB服務器根據用戶的需要,從文件系統(tǒng)(存放了所有靜態(tài)頁面的磁盤)取出內容雁仲。之后通過WEB服務器返回給客戶端崎脉,客戶端接收到內容之后經過瀏覽器渲染解析,得到顯示的效果伯顶。

靜態(tài)WEB中存在以下幾個缺點:

1囚灼、Web頁面中的內容無法動態(tài)更新骆膝,所有的用戶每時每刻看見的內容和最終效果都是一樣的。

為了可以讓靜態(tài)的WEB的顯示更加好看灶体,可以加入了JavaScript以完成一些頁面上的顯示特效阅签,但是這些特效都是在客戶端上借助于瀏覽器展現給用戶的,所以在服務器上本身并沒有任何的變化蝎抽。

實現靜態(tài)WEB客戶端動態(tài)效果的手段:

?JavaScript

?VBScript

在實際的開發(fā)中JavaScript使用得最多政钟。

2、靜態(tài)WEB無法連接數據庫樟结,無法實現和用戶的交互养交。

使用數據庫保存數據是現在大多數系統(tǒng)的選擇,因為數據庫中可以方便地管理數據瓢宦,增刪改查操作可以使用標準的SQL語句完成碎连。

5、動態(tài)WEB

所謂的動態(tài)不是指頁面會動驮履,主要的特性的是:“WEB的頁面展示效果因時因人而變”鱼辙,而且動態(tài)WEB具有交互性,WEB的頁面的內容可以動態(tài)更新玫镐。整個動態(tài)WEB操作的過程圖如下:

動態(tài)WEB中倒戏,程序依然使用客戶端和服務端,客戶端依然使用瀏覽器(IE恐似、FireFox等)杜跷,通過網絡(Network)連接到服務器上,使用HTTP協議發(fā)起請求(Request)矫夷,現在的所有請求都先經過一個WEB?Server?Plugin(服務器插件)來處理葱椭,此插件用于區(qū)分是請求的是靜態(tài)資源(*.htm或者是*.htm)還是動態(tài)資源。

如果WEB?Server?Plugin發(fā)現客戶端請求的是靜態(tài)資源(*.htm或者是*.htm)口四,則將請求直接轉交給WEB服務器,之后WEB服務器從文件系統(tǒng)中取出內容秦陋,發(fā)送回客戶端瀏覽器進行解析執(zhí)行蔓彩。

如果WEB?Server?Plugin發(fā)現客戶端請求的是動態(tài)資源(*.jsp、*.asp/*.aspx驳概、*.php)赤嚼,則先將請求轉交給WEB?Container(WEB容器),在WEB?Container中連接數據庫顺又,從數據庫中取出數據等一系列操作后動態(tài)拼湊頁面的展示內容更卒,拼湊頁面的展示內容后,把所有的展示內容交給WEB服務器稚照,之后通過WEB服務器將內容發(fā)送回客戶端瀏覽器進行解析執(zhí)行蹂空。

6俯萌、動態(tài)WEB應用的實現手段

動態(tài)WEB現在的實現手段非常多,較為常見的有以下幾種:

Microsoft?ASP上枕、ASP.NET

PHP

JAVA?Servlet/JSP

1咐熙、Microsoft?ASP、ASP.NET

微軟公司動態(tài)WEB開發(fā)是比較早的辨萍,而且最早在國內最流行的是ASP棋恼。ASP就是在HTML語言之中增加了VB腳本,但是標準的開發(fā)應用應該是使用ASP+COM锈玉,但是實際情況來看爪飘,在開發(fā)ASP的時候基本上都在一個頁面中寫上成百上千的代碼,頁面代碼極其混亂拉背。

ASP本身有開發(fā)平臺的限制:Windows+IIS+SQL?Server/Access师崎,ASP只能運行在Windows操作系統(tǒng)上,ASP現在基本上已經淘汰去团,現在基本上都是使用ASP.NET進行開發(fā)抡诞,ASP.NET在性能有了很大的改善,而且開發(fā)迅速土陪,但是依然受限于平臺昼汗。ASP.NET中主要是使用C#語言。

2.PHP

PHP開發(fā)速度很快鬼雀,功能強大顷窒,跨平臺(平臺指的就是運行的操作系統(tǒng)),而且代碼也簡單源哩。

3.Servlet/JSP

這是SUN公司(SUN現在已經被Oracle公司收購)主推的B/S架構的實現語言鞋吉,是基于JAVA語言發(fā)展起來的,因為JAVA語言足夠簡單励烦,而且很干凈谓着。

Servlet/JSP技術的性能也是非常高的,不受平臺的限制坛掠,各個平臺基本上都可以使用赊锚。而且在運行中是使用多線程的處理方式,所以性能非常高屉栓。

  SUN公司最早推出的WEB技術推出的是Servlet程序舷蒲,Servlet程序本身使用的時候有一些問題,所有的程序是采用JAVA代碼+HTML的方式編寫的友多,即牲平,要使用JAVA輸出語句,一行一行地輸出所有的HTML代碼域滥,之后纵柿,SUN公司受到了ASP的啟發(fā)蜈抓,發(fā)展出了JSP(Java?Server?Page),JSP某些代碼的編寫效果與ASP是非常相似的藐窄。這樣可以很方便地使一些ASP程序員轉向JSP的學習资昧,加大市場的競爭力度。

二荆忍、WEB服務器

1格带、WEB服務器簡介

1、Web服務器是指駐留于因特網上某種類型計算機的程序刹枉,是可以向發(fā)出請求的瀏覽器提供文檔的程序叽唱。當Web瀏覽器(客戶端)連到服務器上并請求文件時,服務器將處理該請求并將文件反饋到該瀏覽器上微宝,附帶的信息會告訴瀏覽器如何查看該文件(即文件類型)棺亭。

2、服務器是一種被動程序:只有當Internet上運行在其他計算機中的瀏覽器發(fā)出請求時蟋软,服務器才會響應镶摘。

2、常見的Web服務器介紹

1岳守、WebLogic

  WebLogic是美國bea公司出品的一個application?server凄敢。BEA?WebLogic是用于開發(fā)、集成湿痢、部署和管理大型分布式Web應用涝缝、網絡應用和數據庫應用的Java應用服務器。將Java的動態(tài)功能和Java?Enterprise標準的安全性引入大型網絡應用的開發(fā)譬重、集成拒逮、部署和管理之中。是目前應用最廣泛的Web服務器臀规,支持J2EE規(guī)范滩援,而且不斷的完善以適應新的開發(fā)要求,啟動界面如圖

2塔嬉、WebSphere

WebSphere Application Server 是一種功能完善玩徊、開放的Web應用程序服務器,是IBM公司電子商務計劃的核心部分邑遏,它是基于 Java 的應用環(huán)境,用于建立恰矩、部署和管理 Internet 和 Intranet Web 應用程序记盒。這一整套產品進行了擴展,以適應 Web應用程序服務器的需要外傅,范圍從簡單到高級直到企業(yè)級纪吮。啟動界面如圖:

3俩檬、Tomcat

TomcatTomcat是一個實現了JAVA?EE標準的最小的WEB服務器,是Apache?軟件基金會的Jakarta?項目中的一個核心項目碾盟,由Apache棚辽、Sun?和其他一些公司及個人共同開發(fā)而成。因為Tomcat?技術先進冰肴、性能穩(wěn)定屈藐,而且開源免費,因而深受Java?愛好者的喜愛并得到了部分軟件開發(fā)商的認可熙尉,成為目前比較流行的Web?應用服務器联逻。學習JavaWeb開發(fā)一般都使用Tomcat服務器,該服務器支持全部JSP以及Servlet規(guī)范检痰,啟動界面如圖:

4包归、IIS

  Microsoft的Web服務器產品為Internet Information Services (IIS),IIS 是允許在公共Intranet或Internet上發(fā)布信息的Web服務器铅歼。ⅡS是目前最流行的Web服務器產品之一公壤,很多著名的網站都是建立在ⅡS的平 臺上。IIS提供了一個圖形界面的管理工具椎椰,稱為Internet信息服務管理器厦幅,可用于監(jiān)視配置和控制Internet服務。

  IIS是一種Web服務組件俭识,其中包括Web服務器慨削、FTP服務器、NNTP服務器和SMTP服務器套媚,分別用于網頁瀏覽缚态、文件傳輸、新聞服務和郵件發(fā)送等方面堤瘤,它使得在網絡(包括互聯網和局域網)上發(fā)布信息成了一件很容易的事玫芦。它提供ISAPI(Intranet Server API)作為擴展Web服務器功能的編程接口;同時本辐,它還提供一個Internet數據庫連接器桥帆,可以實現對數據庫的查詢和更新。

?  學習web開發(fā)慎皱,需要先安裝一臺web服務器老虫,然后再在web服務器中開發(fā)相應的web資源,供用戶使用瀏覽器訪問茫多。

三祈匙、搭建JavaWeb應用開發(fā)環(huán)境——Tomcat服務器

1、疑問:學習web開發(fā),為什么必須要先裝一個WEB服務器夺欲?

在本地計算機上隨便創(chuàng)建一個web頁面跪帝,用戶是無法訪問到的,但是如果啟動tomcat服務器些阅,把web頁面放在tomcat服務器中伞剑,用戶就可以訪問了。這說明什么問題市埋?

1黎泣、不管什么web資源,想被遠程計算機訪問腰素,都必須有一個與之對應的網絡通信程序聘裁,當用戶來訪問時,這個網絡通信程序讀取web資源數據弓千,并把數據發(fā)送給來訪者衡便。

2、WEB服務器就是這樣一個程序洋访,它用于完成底層網絡通迅镣陕。使用這些服務器,We應用的開發(fā)者只需要關注web資源怎么編寫姻政,而不需要關心資源如何發(fā)送到客戶端手中呆抑,從而極大的減輕了開發(fā)者的開發(fā)工作量。

2汁展、下載和安裝Tomcat服務器

Tomcat官方站點:http://jakarta.apache.org

下載Tomcat安裝程序包:http://tomcat.apache.org/

  點擊【Download】跳轉到如下圖所示的下載頁面鹊碍、

tar.gz文件是Linux操作系統(tǒng)下的安裝版本

exe文件是Windows系統(tǒng)下的安裝版本

zip文件是Windows系統(tǒng)下的壓縮版本

下載完成后,得到的是一個壓縮包食绿,將壓縮包解壓就可以完成Tomcat服務器的安裝

  將壓縮包解壓后侈咕,這樣就完成了Tomcat服務器的安裝。

3器紧、啟動和測試Tomcat服務器

  啟動Tomcat服務器

    雙擊 bin 目錄下的 startup.bat 文件啟動Tomcat服務器

測試Tomcat服務器

    打開瀏覽器耀销,輸入http://localhost:8080/,能顯示如下界面代表安裝成功铲汪。

4熊尉、Tomcat啟動常見問題

  導致Tomcat服務器無法正常啟動的原因一般來說就是如下的兩個:

  1、JAVA_HOME環(huán)境變量設置問題

    要想雙擊bin目錄下的startup.bat文件啟動Tomcat服務器掌腰,首先要做的就是在windows中設置JAVA_HOME環(huán)境變量狰住,因為Tomcat服務器的啟動需要用到這個JAVA_HOME環(huán)境變量,如果windows中不存在JAVA_HOME環(huán)境變量齿梁,則Tomcat服務器是無法啟動的催植。

  在Window中配置JAVA_HOME變量

    操作步驟(win7系統(tǒng)):計算機→右鍵“屬性”→高級系統(tǒng)設置→高級→環(huán)境變量,如下圖所示:

點擊系統(tǒng)變量下面的“【新建】”,彈出一個新建系統(tǒng)變量對話框查邢,首先在變量名寫上JAVA_HOME,顧名思義酵幕,JAVA_HOME的含義就是JDK的安裝路徑扰藕,,然后在變量值寫JDK的安裝路徑芳撒,如這里設置的變量值是"D:\Program Files (x86)\Java\jdk1.7.0"邓深,設置好變量值之后,點擊【確定】按鈕笔刹,JAVA_HOME環(huán)境變量就設置完成芥备,如下圖所示:系統(tǒng)變量中多了一個"JAVA_HOME"變量。

正常來說舌菜,學習Java開發(fā)的第一步就是配置Path環(huán)境變量萌壳,比較好的配置方式是先配置JAVA_HOME環(huán)境變量,然后在Path變量中使用"%JAVA_HOME%"引用JAVA_HOME變量的值日月。

  所以這個JAVA_HOME環(huán)境變量在Window中一般都是已經配置好了的袱瓮,如果忘記配置JAVA_HOME環(huán)境變量,那么可以使用上述的方式配置

  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文件拨脉,看看里面的日志記錄信息哆姻,

如果因為8080端口被占用而無法正常啟動,就會記錄如上圖所示的異常信息玫膀,通過查看異常信息矛缨,我們就可知道Tomcat服務器為什么不能夠正常啟動了!

總結:當Tomcat服務器無法正常啟動時,首先檢查是否配置了JAVA_HOME環(huán)境變量箕昭,然后再檢查Tomcat服務器啟動時的端口是否被別的應用程序占用了灵妨。

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市落竹,隨后出現的幾起案子泌霍,更是在濱河造成了極大的恐慌,老刑警劉巖述召,帶你破解...
    沈念sama閱讀 222,807評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件朱转,死亡現場離奇詭異,居然都是意外死亡积暖,警方通過查閱死者的電腦和手機藤为,發(fā)現死者居然都...
    沈念sama閱讀 95,284評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來夺刑,“玉大人缅疟,你說我怎么就攤上這事”樵福” “怎么了窿吩?”我有些...
    開封第一講書人閱讀 169,589評論 0 363
  • 文/不壞的土叔 我叫張陵,是天一觀的道長错览。 經常有香客問我纫雁,道長,這世上最難降的妖魔是什么倾哺? 我笑而不...
    開封第一講書人閱讀 60,188評論 1 300
  • 正文 為了忘掉前任轧邪,我火速辦了婚禮,結果婚禮上羞海,老公的妹妹穿的比我還像新娘忌愚。我一直安慰自己,他們只是感情好却邓,可當我...
    茶點故事閱讀 69,185評論 6 398
  • 文/花漫 我一把揭開白布硕糊。 她就那樣靜靜地躺著,像睡著了一般腊徙。 火紅的嫁衣襯著肌膚如雪简十。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,785評論 1 314
  • 那天撬腾,我揣著相機與錄音螟蝙,去河邊找鬼。 笑死民傻,一個胖子當著我的面吹牛胰默,可吹牛的內容都是我干的场斑。 我是一名探鬼主播,決...
    沈念sama閱讀 41,220評論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼牵署,長吁一口氣:“原來是場噩夢啊……” “哼漏隐!你這毒婦竟也來了?” 一聲冷哼從身側響起奴迅,我...
    開封第一講書人閱讀 40,167評論 0 277
  • 序言:老撾萬榮一對情侶失蹤锁保,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后半沽,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 46,698評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡吴菠,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,767評論 3 343
  • 正文 我和宋清朗相戀三年者填,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片做葵。...
    茶點故事閱讀 40,912評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡占哟,死狀恐怖,靈堂內的尸體忽然破棺而出酿矢,到底是詐尸還是另有隱情榨乎,我是刑警寧澤,帶...
    沈念sama閱讀 36,572評論 5 351
  • 正文 年R本政府宣布瘫筐,位于F島的核電站蜜暑,受9級特大地震影響,放射性物質發(fā)生泄漏策肝。R本人自食惡果不足惜肛捍,卻給世界環(huán)境...
    茶點故事閱讀 42,254評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望之众。 院中可真熱鬧拙毫,春花似錦、人聲如沸棺禾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,746評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽膘婶。三九已至缺前,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間悬襟,已是汗流浹背瞬逊。 一陣腳步聲響...
    開封第一講書人閱讀 33,859評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留燥滑,地道東北人纺弊。 一個月前我還...
    沈念sama閱讀 49,359評論 3 379
  • 正文 我出身青樓筛璧,卻偏偏與公主長得像,于是被迫代替她去往敵國和親惹恃。 傳聞我的和親對象是個殘疾皇子夭谤,可洞房花燭夜當晚...
    茶點故事閱讀 45,922評論 2 361

推薦閱讀更多精彩內容