最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java Web開發(fā)入門書籍實例解析(總結(jié)一)

 更新時間:2016年03月04日 14:54:52   作者:孤傲蒼狼  
從事Java Web開發(fā)這一段時間來,對Java 面向?qū)ο蟮乃枷牒蚆VC開發(fā)模式可以說已經(jīng)熟悉了。我當(dāng)前參與的項目使用的框架是Spring、SpringMVC、Hibernate。下面腳本之家小編給大家整理一篇教程幫助大家學(xué)習(xí)javaweb相關(guān)知識,感興趣的朋友可以參考下

從事Java Web開發(fā)這一段時間來,對Java 面向?qū)ο蟮乃枷牒蚆VC開發(fā)模式可以說已經(jīng)熟悉了。我當(dāng)前參與的項目使用的框架是Spring、SpringMVC、Hibernate。下面腳本之家小編給大家整理一篇教程幫助大家學(xué)習(xí)javaweb相關(guān)知識,感興趣的朋友可以參考下。

一、基本概念

1.1、WEB開發(fā)的相關(guān)知識

  WEB,在英語中web即表示網(wǎng)頁的意思,它用于表示Internet主機上供外界訪問的資源。

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

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

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

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

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

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

1.2、WEB應(yīng)用程序

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

  一個web應(yīng)用由多個靜態(tài)web資源和動態(tài)web資源組成,如:html、css、js文件,Jsp文件、java程序、支持jar包、配置文件等等。

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

1.3、WEB發(fā)展史

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

1.4、靜態(tài)WEB

  *htm、*html,這些是網(wǎng)頁的后綴,如果現(xiàn)在在一個服務(wù)器上直接讀取這些內(nèi)容,那么意味著是把這些網(wǎng)頁的內(nèi)容通過網(wǎng)絡(luò)服務(wù)器展現(xiàn)給用戶。整個靜態(tài)WEB操作的過程圖如下:

  在靜態(tài)WEB程序中,客戶端使用WEB瀏覽器(IE、FireFox等)經(jīng)過網(wǎng)絡(luò)(Network)連接到服務(wù)器上,使用HTTP協(xié)議發(fā)起一個請求(Request),告訴服務(wù)器我現(xiàn)在需要得到哪個頁面,所有的請求交給WEB服務(wù)器,之后WEB服務(wù)器根據(jù)用戶的需要,從文件系統(tǒng)(存放了所有靜態(tài)頁面的磁盤)取出內(nèi)容。之后通過WEB服務(wù)器返回給客戶端,客戶端接收到內(nèi)容之后經(jīng)過瀏覽器渲染解析,得到顯示的效果。

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

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

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

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

• JavaScript

• VBScript

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

  2、靜態(tài)WEB無法連接數(shù)據(jù)庫,無法實現(xiàn)和用戶的交互。

  使用數(shù)據(jù)庫保存數(shù)據(jù)是現(xiàn)在大多數(shù)系統(tǒng)的選擇,因為數(shù)據(jù)庫中可以方便地管理數(shù)據(jù),增刪改查操作可以使用標(biāo)準(zhǔn)的SQL語句完成。

1.5、動態(tài)WEB

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

  動態(tài)WEB中,程序依然使用客戶端和服務(wù)端,客戶端依然使用瀏覽器(IE、FireFox等),通過網(wǎng)絡(luò)(Network)連接到服務(wù)器上,使用HTTP協(xié)議發(fā)起請求(Request),現(xiàn)在的所有請求都先經(jīng)過一個WEB Server Plugin(服務(wù)器插件)來處理,此插件用于區(qū)分是請求的是靜態(tài)資源(*.htm或者是*.htm)還是動態(tài)資源。

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

  如果WEB Server Plugin發(fā)現(xiàn)客戶端請求的是動態(tài)資源(*.jsp、*.asp/*.aspx、*.php),則先將請求轉(zhuǎn)交給WEB Container(WEB容器),在WEB Container中連接數(shù)據(jù)庫,從數(shù)據(jù)庫中取出數(shù)據(jù)等一系列操作后動態(tài)拼湊頁面的展示內(nèi)容,拼湊頁面的展示內(nèi)容后,把所有的展示內(nèi)容交給WEB服務(wù)器,之后通過WEB服務(wù)器將內(nèi)容發(fā)送回客戶端瀏覽器進(jìn)行解析執(zhí)行。

1.6、動態(tài)WEB應(yīng)用的實現(xiàn)手段

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

•Microsoft ASP、ASP.NET

•PHP

•JAVA Servlet/JSP

1、Microsoft ASP、ASP.NET

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

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

2.PHP

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

3.Servlet/JSP

  這是SUN公司(SUN現(xiàn)在已經(jīng)被Oracle公司收購)主推的B/S架構(gòu)的實現(xiàn)語言,是基于JAVA語言發(fā)展起來的,因為JAVA語言足夠簡單,而且很干凈。

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

  SUN公司最早推出的WEB技術(shù)推出的是Servlet程序,Servlet程序本身使用的時候有一些問題,所有的程序是采用JAVA代碼+HTML的方式編寫的,即,要使用JAVA輸出語句,一行一行地輸出所有的HTML代碼,之后,SUN公司受到了ASP的啟發(fā),發(fā)展出了JSP(Java Server Page),JSP某些代碼的編寫效果與ASP是非常相似的。這樣可以很方便地使一些ASP程序員轉(zhuǎn)向JSP的學(xué)習(xí),加大市場的競爭力度。

二、WEB服務(wù)器

2.1、WEB服務(wù)器簡介

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

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


2.2、常見的Web服務(wù)器介紹

  1、WebLogic

  WebLogic是美國bea公司出品的一個application server。BEA WebLogic是用于開發(fā)、集成、部署和管理大型分布式Web應(yīng)用、網(wǎng)絡(luò)應(yīng)用和數(shù)據(jù)庫應(yīng)用的Java應(yīng)用服務(wù)器。將Java的動態(tài)功能和Java Enterprise標(biāo)準(zhǔn)的安全性引入大型網(wǎng)絡(luò)應(yīng)用的開發(fā)、集成、部署和管理之中。是目前應(yīng)用最廣泛的Web服務(wù)器,支持J2EE規(guī)范,而且不斷的完善以適應(yīng)新的開發(fā)要求,啟動界面如圖

  2、WebSphere

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


  3、Tomcat

  TomcatTomcat是一個實現(xiàn)了JAVA EE標(biāo)準(zhǔn)的最小的WEB服務(wù)器,是Apache 軟件基金會的Jakarta 項目中的一個核心項目,由Apache、Sun 和其他一些公司及個人共同開發(fā)而成。因為Tomcat 技術(shù)先進(jìn)、性能穩(wěn)定,而且開源免費,因而深受Java 愛好者的喜愛并得到了部分軟件開發(fā)商的認(rèn)可,成為目前比較流行的Web 應(yīng)用服務(wù)器。學(xué)習(xí)JavaWeb開發(fā)一般都使用Tomcat服務(wù)器,該服務(wù)器支持全部JSP以及Servlet規(guī)范,啟動界面如圖:

  4、IIS

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

  IIS是一種Web服務(wù)組件,其中包括Web服務(wù)器、FTP服務(wù)器、NNTP服務(wù)器和SMTP服務(wù)器,分別用于網(wǎng)頁瀏覽、文件傳輸、新聞服務(wù)和郵件發(fā)送等方面,它使得在網(wǎng)絡(luò)(包括互聯(lián)網(wǎng)和局域網(wǎng))上發(fā)布信息成了一件很容易的事。它提供ISAPI(Intranet Server API)作為擴(kuò)展Web服務(wù)器功能的編程接口;同時,它還提供一個Internet數(shù)據(jù)庫連接器,可以實現(xiàn)對數(shù)據(jù)庫的查詢和更新。

  學(xué)習(xí)web開發(fā),需要先安裝一臺web服務(wù)器,然后再在web服務(wù)器中開發(fā)相應(yīng)的web資源,供用戶使用瀏覽器訪問。

三、搭建JavaWeb應(yīng)用開發(fā)環(huán)境——Tomcat服務(wù)器

3.1、疑問:學(xué)習(xí)web開發(fā),為什么必須要先裝一個WEB服務(wù)器?

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

  1、不管什么web資源,想被遠(yuǎn)程計算機訪問,都必須有一個與之對應(yīng)的網(wǎng)絡(luò)通信程序,當(dāng)用戶來訪問時,這個網(wǎng)絡(luò)通信程序讀取web資源數(shù)據(jù),并把數(shù)據(jù)發(fā)送給來訪者。

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

3.2、下載和安裝Tomcat服務(wù)器

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

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

 

  點擊【Download】跳轉(zhuǎn)到如下圖所示的下載頁面


3.3、啟動和測試Tomcat服務(wù)器

    啟動Tomcat服務(wù)器

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

 

    測試Tomcat服務(wù)器

    打開瀏覽器,輸入http://localhost:8080/,能顯示如下界面代表安裝成功?!?/p>

  

3.4、Tomcat啟動常見問題

  導(dǎo)致Tomcat服務(wù)器無法正常啟動的原因一般來說就是如下的兩個:

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

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

  在Window中配置JAVA_HOME變量

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

       

  點擊系統(tǒng)變量下面的“【新建】”,彈出一個新建系統(tǒng)變量對話框,首先在變量名寫上JAVA_HOME,顧名思義,JAVA_HOME的含義就是JDK的安裝路徑,,然后在變量值寫JDK的安裝路徑,如這里設(shè)置的變量值是"D:\Program Files (x86)\Java\jdk1.7.0",設(shè)置好變量值之后,點擊【確定】按鈕,JAVA_HOME環(huán)境變量就設(shè)置完成,如下圖所示:系統(tǒng)變量中多了一個"JAVA_HOME"變量?! ?br />

  正常來說,學(xué)習(xí)Java開發(fā)的第一步就是配置Path環(huán)境變量,比較好的配置方式是先配置JAVA_HOME環(huán)境變量,然后在Path變量中使用"%JAVA_HOME%"引用JAVA_HOME變量的值?!  ?br />

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

  2、端口占用問題

  因為Tomcat服務(wù)器啟動時是需要默認(rèn)是使用8080端口的,如果這個8080端口被別的應(yīng)用程序占用了,那么Tomcat服務(wù)器就無法正常啟動,看到的現(xiàn)象就是"Tomcat服務(wù)器啟動界面會打印出異常錯誤信息,然后就自動關(guān)閉了",如下圖所示:

  

  由于這個窗口從啟動到關(guān)閉的時間非常短,我們很難通過這個窗口看到Tomcat啟動時的報錯異常信息,因此我們一般只能通過Tomcat服務(wù)器的記錄的log(日志)信息去查看Tomcat服務(wù)器的運行情況。

  在Tomcat服務(wù)器的根目錄下有一個logs文件夾, 

  logs文件夾存放Tomcat 的日志文件,打開logs文件夾,可以看到里面的log文件,其中有一個以"catalina.yyyy-MM-dd.log"形式命名的log文件,例如"catalina.2014-05-17.log"日志文件就是記錄Tomcat服務(wù)器2014-05-17這一天的運行情況。

    日志信息里面清楚的記錄了Tomcat服務(wù)器的運行情況,如果因為8080端口被占用而無法正常啟動,就會記錄如上圖所示的異常信息,通過查看異常信息,我們就可知道Tomcat服務(wù)器為什么不能夠正常啟動了!

  總結(jié):當(dāng)Tomcat服務(wù)器無法正常啟動時,首先檢查是否配置了JAVA_HOME環(huán)境變量,然后再檢查Tomcat服務(wù)器啟動時的端口是否被別的應(yīng)用程序占用了。

關(guān)于Java Web開發(fā)入門書籍實例解析(總結(jié)一)就給大家介紹到這里,希望對大家有所幫助!

相關(guān)文章

  • 在mybatis中如何將Map作為參數(shù)

    在mybatis中如何將Map作為參數(shù)

    這篇文章主要介紹了在mybatis中如何將Map作為參數(shù)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • java8如何用Stream查List對象某屬性是否有重復(fù)

    java8如何用Stream查List對象某屬性是否有重復(fù)

    這篇文章主要介紹了java8如何用Stream查List對象某屬性是否有重復(fù)的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Java 反射機制原理與用法詳解

    Java 反射機制原理與用法詳解

    這篇文章主要介紹了Java 反射機制原理與用法,結(jié)合實例形式詳細(xì)分析了Java反射機制的相關(guān)概念、原理、基本使用方法及操作注意事項,需要的朋友可以參考下
    2019-11-11
  • SpringBoot操作Jedis案例代碼

    SpringBoot操作Jedis案例代碼

    這篇文章主要介紹了SpringBoot操作Jedis案例代碼,代碼部分包括pom依賴、配置相關(guān)參數(shù)、JedisPool的設(shè)置,代碼簡單易懂對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-08-08
  • JVM 方法調(diào)用之動態(tài)分派(詳解)

    JVM 方法調(diào)用之動態(tài)分派(詳解)

    下面小編就為大家?guī)硪黄狫VM 方法調(diào)用之動態(tài)分派(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • java實現(xiàn)網(wǎng)頁爬蟲的示例講解

    java實現(xiàn)網(wǎng)頁爬蟲的示例講解

    下面小編就為大家?guī)硪黄猨ava實現(xiàn)網(wǎng)頁爬蟲的示例講解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • 聊聊@RequestBody和Json之間的關(guān)系

    聊聊@RequestBody和Json之間的關(guān)系

    這篇文章主要介紹了@RequestBody和Json之間的關(guān)系,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • 淺談Mybatis+mysql 存儲Date類型的坑

    淺談Mybatis+mysql 存儲Date類型的坑

    這篇文章主要介紹了淺談Mybatis+mysql 存儲Date類型的坑,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • 基于Java的界面開發(fā)詳細(xì)步驟(用戶注冊登錄)

    基于Java的界面開發(fā)詳細(xì)步驟(用戶注冊登錄)

    通過一段時間Java Web的學(xué)習(xí),寫一個簡單的注冊登陸界面來做個總結(jié),這篇文章主要給大家介紹了基于Java的界面開發(fā)(用戶注冊登錄)的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • spring boot項目導(dǎo)入依賴后代碼報錯問題的解決方法

    spring boot項目導(dǎo)入依賴后代碼報錯問題的解決方法

    這篇文章主要給大家介紹了關(guān)于spring boot項目導(dǎo)入依賴后代碼報錯問題的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用spring Boot具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08

最新評論

漠河县| 右玉县| 东兴市| 唐河县| 鹰潭市| 江达县| 宜宾市| 临漳县| 顺义区| 英德市| 普陀区| 石阡县| 游戏| 百色市| 二连浩特市| 高邑县| 棋牌| 安福县| 高陵县| 博兴县| 靖宇县| 胶州市| 灵璧县| 屏南县| 高青县| 廊坊市| 图木舒克市| 阳泉市| 五峰| 元谋县| 新田县| 黎川县| 阜南县| 绥棱县| 海盐县| 永城市| 开远市| 正蓝旗| 宁都县| 渝北区| 井陉县|