日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Head First JSP---随笔九(部署Web应用)

發(fā)布時間:2025/3/15 javascript 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Head First JSP---随笔九(部署Web应用) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Web應用部署

Web應用終于到了最后的重要時刻。


Web應用部署

2.1 構建Web應用的文件和目錄結構,其中可能包含
1. 靜態(tài)內容
2. JSP頁面
3. servlet類
4. 部署描述文件
5. 標記庫
6. Jar文件
7. Java類文件
8. 描述如何保護資源文件避免HTTP訪問
2.2 說明以下部署描述文件元素的作用和語義
1. error-page
2. init-param
3. mime-mapping
4. servlet
5. servlet-class
6. servlet-mapping
7. servlet-name
8. welcome-file
2.3 為以下各個部署文件元素建立正確的結構
1. error-page
2. init-param
3. mime-mapping
4. servlet
5. serlvet-class
6. servlet-name
7. welcome-file
2.4 解釋War文件的作用,并說明War文件的內容,以及如何構建一個War文件
6.3 編寫一個語法正確的JSP文檔(采用基于XML的語法)


部署的快樂

在這一章,主要考慮3個問題:

(1)你把Web應用中的東西放在那里?

靜態(tài)資源放在哪里?JSP頁面呢?Servlet類文件呢?JavaBean類文件呢?監(jiān)聽者類文件呢?標記文件呢?標記處理器類呢?TLD呢?Jar文件呢?web.xml DD呢?還有一些東西我們不希望容器對外提供,這些東西放在哪里?(還句話說,Web應用的哪些部分要得到保護,不能由客戶直接訪問?),另外,“歡迎”文件放在哪里?

(2)容器會在哪里找Web應用中的東西?

客戶請求HTML頁面時容器會到哪里查找?JSP頁面呢?servlet呢?如果請求的并不是一個具體文件(比如,BeerTest.do)會怎么樣?容器在哪里查找標記處理器類?容器去哪里找TLD?標記文件?Jar文件?部署描述文件?Servlet依賴的其他類?容器在哪里查找“歡迎”文件?(顯然,如果這些問題你都清楚了,那么以上第一條里的問題對你來說只是小菜一碟了。)

(3)客戶怎么請求Web應用里的東西?

客戶要訪問HTML頁面的話,改在瀏覽器里鍵入什么?要訪問JSP頁面呢?servlet呢?如果請求的東西并不是具體文件會怎么樣?哪些地方客戶可以直接請求,哪些地方會限制客戶直接訪問資源?如果客戶鍵入的只是一個目錄的路徑,而不是特定文件的路徑,會怎么樣?


Web應用中的東西要放在哪里?


War文件

War文件只是Web應用結構的一個快照,采用了一種更可移植的壓縮形式(它實際上就是一個Jar文件)。建立War文件時,就是要把整個Web應用結構(去掉Web應用上下文目錄,也就是把WEB-INF之上的一級目錄去掉)壓縮起來,并指定一個.war擴展名。不過,還有一個問題,如果沒有包括特定的Web應用目錄(例如,BeerApp),容器怎么知道這個Web應用的名/上下文呢?

這就取決于你的容器了。在Tomcat中,War文件的文件名就會成為Web應用的名字!假設你把BeerApp部署為tomcat/webapps/BeerApp之下一個正常的目錄結構。要把它部署為一個War文件,需要壓縮BeerApp目錄中的所有內容(不過,不包括BeerApp目錄本身),然后把得到的Jar文件命名為BeerApp.war。接下來將BeerApp.war文件放在tomcat/webapps目錄中。Tomcat會解開War,使用War文件名創(chuàng)建Web應用上下文目錄

在WAR文件中,可以聲明庫依賴性。在一個WAR文件中,可以在META-INF/MANIFEST.MF文件中聲明庫依賴性,這樣在部署時就能檢查容器能否找到應用依賴的包和類。

部署后的WAR文件的樣子如下:


使靜態(tài)內容和JSP可以直接訪問

部署靜態(tài)HTML和JSP時,可以選擇是否允許從Web應用外部直接訪問。只要把文件放在WEB-INF下就能避免直接訪問,或者如果應用部署為一個WAR文件,可以把不允許直接訪問的文件放在META-INF下。


servlet映射



servlet映射可能是“假的”

servlet映射中的URL模式可能完全是假的(所以有的時候掃描就木得用了,因為都是同一個頁面)。


有關servlet映射的重要規(guī)則

(1)容器首先查找完全匹配,再找目錄匹配,再是拓展名匹配
(2)如果一個請求與多個目錄<url-pattern>匹配,容器會選擇最長的匹配。換句話說,如果請求/foo/bar/myStuff.do,它就會映射到 /foo/bar/ * 而不會映射到 /foo/ * 。


DD中配置歡迎文件

注意不能以斜線開頭(從第一個開始,如果第一個沒找到就找第二個,依此類推):

不僅僅對根目錄而言!


在DD中配置錯誤頁面

注意:必須使用完全限定名(java.lang.Exception)


在DD中配置servlet初始化

目的是:部署的時候將servlet初始化完成,可以隨時調用service方法。

還需要注意的(優(yōu)先級):


建立一個XML兼容的JSP:JSP文檔

稍作了解一下:


EJB有關的DD標記

EJB現在都不怎么用了!因為太重量級了!稍作了解!

注意點:


JNDI的DD標記

沒看懂是什么意思!!


mime-mapping的DD標記

建立擴展名(extension)和一個mime類型(mime-type)之間的映射。


本章完。這章只是大概的過了一遍!

總結

以上是生活随笔為你收集整理的Head First JSP---随笔九(部署Web应用)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。