1. 程式人生 > >JavaWeb學習(一)———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】跳轉到如下圖所示的下載頁面

   

  1. tar.gz檔案是Linux作業系統下的安裝版本
  2. exe檔案是Windows系統下的安裝版本
  3. zip檔案是Windows系統下的壓縮版本

  下載完成後,得到的是一個壓縮包

相關推薦

JavaWeb學習———JavaWeb入門

一、基本概念 1.1、WEB開發的相關知識   WEB,在英語中web即表示網頁的意思,它用於表示Internet主機上供外界訪問的資源。  Internet上供外界訪問的Web資源分為: 靜態web資源(如html 頁面):指web頁面中供人們瀏覽的資料始終是不變。

JavaWeb學習-- 圖書系統

1,將IDEA工程匯入Eclipse 1.1 1.2 1.3 1.4 2,連線MySql MySql版本8.0,只能用JDK1.8 以下為TomcatServer啟動時的錯誤: Q:Data source rejected establishment o

Spark學習--Spark入門介紹和安裝

本次主要介紹spark的入門概念和安裝 Spark概念 Spark安裝 Spark HA 高可用部署 1. Spark概念 1.1 什麼是Spark Spark 是一種快速、 通用、 可擴充套件的大資料分析引擎, 2009 年誕生於加州大學伯克利分校 AM

SpringMVC 學習——SpringMVC 入門

package com.xuehj.springmvc.handler; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping;

Struts2學習————Struts2入門

        首先推薦一本書,雖然我還沒看過,但是我以後肯定會看的,《Struts+技術內幕》提取密碼:kg6w 。現在只是停留在會使用struts2的層次,自己也想繼續深入研究,但是感覺自己的知識面還沒那麼廣,那就等以後工作之後,在回過頭來將那幾個框架研究一下,寫點有深度的文章,而此係列的文章,只是個人的

Spring學習-Spring入門示例

從本篇部落格開始,後續將重點學習Spring,並記錄學習過程中的點點滴滴。 開發環境:jdk 1.7,Eclipse Mars, Spring Framwork 4.3.0 1、 在Eclipse中

Arduino學習入門篇:軟硬體安裝 以及 hello,world編譯執行

Arduino是一款微控制器開發板,是個很好上手的入門級開發板,適合於用於開發電子產品原型,開發語言採用C,其特點是簡單、方便、軟體庫多、模組配件多。 一、微控制器, MCU 微控制單元(Microcontroller Unit,  即MCU) ,又稱單片微型計算機(S

Spring Boot 基礎知識學習——快速入門

          SpringBoot 基礎知識學習(一)——快速入門 一、背景介紹          今天是2016年11月15號,接觸微服務大概一年多的時間,並且我們團隊已經在去年使用微服務架構

mybatis學習 mybatis入門

       mybatis(3.3.1version)是一個比較輕量級的O/R Mapping框架,跟Hibernate對比安裝和配置都要簡單許多。將mybatis.jar引入到專案中即可。安裝之後下面的工作就是要配置相關檔案。mybatis配置檔案主要包含兩個部門一個是核心配置檔案也可稱為主配檔案,另一

mybatis學習 快速入門

一、Mybatis介紹      MyBatis是一個支援普通SQL查詢,儲存過程和高階對映的優秀持久層框架。MyBatis消除了幾乎所有的JDBC程式碼和引數的手工設定以及對結果集的檢索封裝。MyBatis可以使用簡單的XML或註解用於配置和原始對映,將介面和Java的POJO(Plain Old Ja

mybatis學習基礎入門

Mybatis架構 SqlMapConfig.xml 核心配置檔案。 mapper.xml 實體的對映配置檔案,書寫sql。 SqlSessionFactory session的工廠。 SqlSession 核心操作物件。 一、使用

JavaWeb學習———Tomcat伺服器學習和使用()

一、Tomcat伺服器埠的配置   Tomcat的所有配置都放在conf資料夾之中,裡面的server.xml檔案是配置的核心檔案。   如果想修改Tomcat伺服器的啟動埠,則可以在server.xml配置檔案中的Connector節點進行的埠修改 例如:將Tomcat伺服器的啟

mybatis學習----入門

配置 ati 開源 bold 文件中 手動 arch mage git 一.Mybatis介紹 MyBatis 本是apache的一個開源項目iBatis, 2010年這個項目由apache software foundation 遷移到了google code,並且改名為

MyBatis學習簡介及入門案例

結果集 提交 ace 支持 nag 實例 exce 空間 cti 1.什麽是MyBatis?   MyBatis是一個支持普通SQL查詢,存儲過程,和高級映射的優秀持久層框架。MyBatis去掉了幾乎所有的JDBC代碼和參數的手工設置以及對結果集的檢索封裝。MyBatis可

1、spring-boot學習筆記簡單入門

ava project nal run plugin mailto 5.4 安全 class a 一、新建普通Maven工程 pom.xml <parent> <groupId>org.springframework.boot</gr

JavaWebJavaWeb應用的概念

管理 data- 們的 定義 ack clas java web 技術分享 .... JavaWeb應用的概念 在Sun的Java Servlet規範中,對Java Web應用作了這樣定義:“Java Web應用由一組Servlet、HTML頁、類、以及其它可以被綁定的資源

JavaWeb-Servlet

3.1 程序 public 創建 客戶端請求 若是 編寫 server bsp  一 Servlet(Server Applet)是Java Servlet的簡稱,是服務器小應用程序   1)用來完成B/S架構下,客戶端請求的響應處理   2)平臺獨立,性能優良

VueJS入門學習

try pre 發的 沒有 cnpm lan light install 上一個   剛剛接觸VueJs的時候,還不懂NodeJs是什麽,單頁面應用是什麽?隨著慢慢的深入慢慢的理解了這些東西。簡單介紹一些VueJs,一個頁面一個Vue實例,包含了頁面中控件所需要的方法,事件

JavaWeb 小試牛刀

san nts 技術 兩個 username rda public review ger 2)使用Javabean來處理 1、建立user類,封裝數據。 1 package com.po; 2 //用戶類 3 publ

NS3入門學習之指令碼執行例項

 ns3中使用的編譯系統是waf,所有的c++工程都需要經過waf編譯後執行,除錯時也需要waf的。 在3.1.3中還是使用C++寫指令碼,在/ns-3.1.3/examples/tutorial/的second.cc指令碼中可以看出來,在3.2.6以上版本中已經增加了python