程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> Java Web總結(一)-- 入門,javaweb

Java Web總結(一)-- 入門,javaweb

編輯:JAVA綜合教程

Java Web總結(一)-- 入門,javaweb


一、基本概念

1.1、WEB開發的相關知識

  WEB,在英語中web即表示網頁的意思,它用於表示Internet主機上供外界訪問的資源。
  Internet上供外界訪問的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】跳轉到如下圖所示的下載頁面

   

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

  

  將壓縮包解壓後,得到的就是如下圖所示的文件夾,這樣就完成了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服務器啟動時的端口是否被別的應用程序占用了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved