Ⅰ Java Web應用開發中的一些概念
概念一直是學習計算機軟體開發中經常遇到的問題 也是軟體行業最喜歡創造的東西 很多時候 學習計算機軟體開發遇到困難都是因為對某些概念的不理解 而不是因為技術本身有多麼復雜 Java Web作為Java EE技術體系的一部分 應該是目前所有Web開發技術中最復雜的一種 很多初學者 或者是從ASP PHP轉移過來的開發者都會遇到概念方面的困難
其實很多概念都是非產簡單的 只是因為廠家為了宣傳需要 將概念復雜化 學術化 導致學習者覺得這些概念非常深奧 難以理解 在這里 我們首先去澄清Java Web開發中幾個常用的基本概念 當然理解這些概念的前提是需要你具備一定的計算機系統 面向對象等方面基礎知識
Web容器
所有的程序運行都需要有一個必要的運行環境 這個環境可以是軟體 也可以是硬體 或者是軟體和硬體的結合 比如說Windows操作系統需要運行在硬體基礎上 Office軟體需要運行在操作系統上 並且程序與運行環境之間會有一定的數據交換 比如操作系統會將運行指令傳遞給硬體 硬體也會將指令運行結果傳遞給操作系統 Java Web程序也需要一個運行環境才能夠執行 這種運行Java Web程序的環境被稱為Web容器 Java Web程序與Web容器之間存在數據交互 目前主要存在兩種類型的Java Web容器 一種是獨立的Java Web容器 在這種容器裡面只能運行Web程序 這種容器一般也叫做Web伺服器 如Tomcat等 另一種是與其他Java EE容器混合在一起的Web容器 Web容器負責運行Web程序 其他容器負責運行EJB等程序 如WebLogic等
當用戶通過瀏覽器等Web客戶端軟體向伺服器發出一個請求之後 首先接收到這個請求的是Web容器 Web容器會將請求信息封裝到一個HttpServletRequest類型的Java對象中 並將對象傳遞給Java Web程序 對於每個請求 Web容器還會創建一個HttpServletResponse類型對象 該對象的作用是用來保存需要返回到瀏覽器等客戶端的內容 Java Web程序可以從HttpServletRequest提取用戶發出的請求信息 進行適當的處理之後 將處理結果放置到HttpServletResponse中 然或由Web容器解析HttpServletResponse對象內容 並將解析結果以瀏覽器能夠識別的HTML等格式返回給瀏覽器等客戶端 在這個過程中 HttpServletRequest和HttpServletResponse就如同兩條渡船 負責在Web容器和Java Web程序之間傳遞信息 需要注意的是 這兩個對象僅存在於Web容器和Java Web程序當中 與瀏覽器沒有關系 下圖是這個過程的示意圖
Web應用
Web應用 可以認為是Web程序的另一個名稱 缺的的定義就是運行在Web容器當中的 能夠完成完整功能的應用程序 Java Web應用由一系列編譯之後的Java類 靜態圖片 靜態HTML文件 配置文件等構成 通過Java Web應用可以就收用戶的輸入和請求 並對請求信息進行加工處理 訪問資料庫 對用戶的請求給出回應 開發Java Web應用程序處理需要遵守Web應用的一些特殊規范要求以外 與開發其他類型的應用程序並沒有本質區別 目前Web應用主要有兩種類型 一種是以展示為目的的Web應用 這種應用會以HTML等標記文本或者瀏覽器所能識別的媒體格式最為請求返回內容 用戶可以通過瀏覽器等客戶端操作這類應用 另一類是以服務為目的的Web應用 這類應用不提供圖形操作界面 只提供方法調用結構 比如Web服務 該類應用一般只能被其他應用程序調用和訪問
Web元件
Web元件是構成Web應用 能夠對來自瀏覽器等客戶端請求做出回應的基本單元 在Java Web應用中 所提供的Web元件有Servlet JavaServer Pages(JSP) JavaServer Faces(JSF)等 另外還可以使用其他類型Web應用同樣使用的內容 比如HTML文件 靜態圖片等 事實上Java Web只提供了一種Web元件元件 就是Servlet JSP JSF等都是基於Servlet的衍生技術 Servlet實質就是一個有特殊繼承關系要求的Java類 理解Servlet就基本上完全理解Java Web技術了
Web模塊
在Java EE技術體系中 除了Java Web以外 還包括EJB等其他技術 每個技術體系會運行在各自的容器當中 不同的部分組合在一起構成完整的Java EE應用 每個部分根據自己的特點被稱為Java Web模塊或者EJB模塊 之所以把他們稱為模塊 是因為希望Java EE應用不同部分能像積木一樣組合出更大 更復雜的應用出來 並且每個部分保證其獨立性 不同的模塊都有自己特定的目錄結構要求 Java Web模塊的目錄結構要求如下
◆應用文檔根目錄 改目錄是Java Web模塊的最上層目錄 組成Web模塊的所有Web元件以及配置文件等都包含在該目錄或者子目錄下 在改目錄下可以直接存放HTML文件 圖片文件等
◆WEB INF目錄 改目錄位於應用文檔根目錄下 用來保存那些不希望被瀏覽器等客戶端訪問的文件 比如發布描述文件 編譯之後的類文件 因為這些文件是由由Web容器進行解釋或者執行的 瀏覽器不可以直接看到這些文件 只能看到這些文件的執行結果
◆web xml文件 該文件位於WEB INF目錄下 是Web應用的部署描述文件 用來與定義Web應用運行相關的信息 比如執行邏輯 Servlet等Web元件的訪問路徑等 改文件的格式必須符合所使用的Servlet版本的規格要求
◆classes目錄 該目錄位於WEB INF目錄下 用來保存編譯之後的Java類文件 比如Servlet 輔助類 其他業務處理類等
◆tags目錄 該目錄位於WEB INF目錄下 用來保存那些標簽庫的標簽描述文件
◆lib目錄 該目錄位於WEB INF目錄下 用來保存Web應用運行所依賴的 經過打包之後的Java類文件 打包格式一般是 jar格式
對於Java Web模塊目錄中WEB INF web xml classes tags lib這些內容以外 用戶可以根據自己的需要在Web應用文檔根目錄下創建其他目錄 比如可以為圖片 不同用途的HTML或者JSP單獨創建目錄 還可以為不用的Java類在classes下創建包目錄 如果在你的Web應用中沒有使用到Servlet 過濾器 監聽器等Java Web元件 可以沒有web xml文件 如果沒有使用到標簽 則可以沒有tags目錄
Web模塊的發布工作 可以直接以目錄的形式發布 也可以打包成jar格式文件進行發布 因為用途和內容的特殊性 打包文件的擴展名會採用 war而不是 jar 另外如果不是發布到獨立的Web伺服器上 而是發布到與其他Java EE一起使用的企業應用伺服器上 還需要編寫一個與企業應用伺服器相關的配置文件 這個文件對於不同的企業應用伺服器也不同 比如發布到glassfish伺服器上 需要編寫的文件時sun web xml
lishixin/Article/program/Java/hx/201311/26761
Ⅱ 什麼是JavaWeb
Java Web 其實就是一個技術的總和,把Web看成一個容器而已主要使用JavaEE技術來實現.在加上各種中間件。整個javaWeb階段的內容通過實際的案例貫穿學習, 所涉及到的技術知識點會在案例中根據不同的需求引入。首先了解javaWEB的整個技術體系,掌握常用的技術知識點。
Ⅲ 什麼是JavaWeb
Javaweb是用Java技術來解決相關web互聯網領域的問題,可以通過Javaweb製作一個軟體,一個ERP,一個網頁,甚至是一個網路游戲。Javaweb是一個技術的總和,主要使用JavaEE技術來實現。
Ⅳ 「java web」和「java ee(j2ee)」有什麼區別
區別:多數編程語言都有預選編譯好的類庫以支持各種特定的功能,在Java中,類庫以包(package)的形式提供,不同版本的Java提供不同的包,以面向特定的應用。
Java2平台包括標准版(J2SE)、企業版(J2EE)和微縮版(J2ME)三個版本:
Standard Edition(標准版) J2SE 包含那些構成Java語言核心的類。
比如:資料庫連接、介面定義、輸入/輸出、網路編程
Enterprise Edition(企業版)J2EE包含J2SE 中的類,並且還包含用於開發企業級應用的類。
比如:EJB、servlet、JSP、XML、事務控制
Micro Edition(微縮版)J2ME包含J2SE中一部分類,用於消費類電子產品的軟體開發。
比如:呼機、智能卡、手機、PDA、機頂盒
他們的范圍是:J2SE包含於J2EE中,J2ME包含了J2SE的核心類,但新添加了一些專有類。