J2EE學習筆記02 Server.xml知識點及Servlet初步

來源:互聯網
上載者:User

標籤:style   blog   http   io   ar   os   使用   sp   java   

內容概要:

1.繼續講解server.xml中的一些設定知識點

2設定外部WEBAPP及使用根目錄開發

3.重頭戲Servlet及相關知識

關鍵詞:

TomCat,web.xml,connectionTimeout="20000" ,appBase = "webapps",線程池配置,servlet版的HelloWorld

詳細內容:

一.繼續講解server.xml中的一些設定知識點

接下來,我們還是看我們的TomCat.

我們上節課呢,我們開發了myweb,我們是如何開發這個myweb的呢,我們一起來回憶一下

首先是myweb,myweb下呢是WEB-INF,那麼WEB-INF下呢便是web.xml

開啟web.xml,我們來看下上節課,沒有講到的一些東西.開啟tomcat\conf\server.xml

A:

這個shutdown連接埠就是關閉伺服器的一個連接埠,我們再關閉這個伺服器的時候呢,就是向這個連接埠呢發送了一個關閉伺服器的訊息將其關閉.

B:再往下走呢

其中這個Connector 中的port是串連連接埠,上節課凱哥講過,而且我們也做過筆記.

connectionTimeout="20000" //這句話是逾時時間20s,如果我們的網站對其有要求而且我們的伺服器響應比較快呢,可以減小.調節的目的呢,就是用戶端發送過來的時候回應時間應該是多少.

C:往下呢,還有一些配置要說一下

appBase = "webapps",appBase是個什麼東西呢,是你的應用程式地址.就是節課,我們都是把myweb放在webapps目錄中,其實webapps這個目錄是可以改的,在哪改呢?就是在這個appBase中去改.

那麼來改一下,我們在tomcat目錄中建立立一個檔案夾叫xiognda_webapps,我們把myweb給移動進去.同時將webapps改成xiognda_webapps,

重啟tomcat,我們輸入http://localhost:8080/myweb/a.jsp

我們發現我們現在的目錄是在xiongda_webapps下,也就是說我們的appBase自訂設定成功

D:還有兩個配置就是解包和自動部署

解包和自動部署呢,我們先瞭解一下是什麼意思就可以了,因為後面會學習到.

如果是壓縮包的,會問你要不要解包,如果你是新的呢,會問你要不部署,只要知道就ok了

E:接下來我們繼續講,

這塊呢有個線程池的設定,雖然是被注釋的,但實際上是可以也需要配置的.

什麼是線程池配置呢?我們來看一下.

瀏覽器呢,有很多種,有IE,有Google,TomCat是一個一對多的服務,當僅有一個IE對TomCat進行訪問的時候呢,是單線程.如果再有其他人來訪問的時候,tomcat就必須提供多線程的服務.

簡單來說就好比一個飯店,如果來一個人,那麼一個廚子是夠的,如果同一時間段來五個人呢,可能勉勉強強能夠忙的過來,但是同一時間段如果來十個人呢,我就必須再請一個廚子,才能夠忙的過來.如果同一時間段來二十個人呢,我就再請一個,也就是三個廚子才能忙的過來如果突然暴漲來一百個人怎麼辦呢,對不起我不能可能請一百個廚子,請在我三個廚子的極限二十個客戶以外的八十個人稍微等等.如果要問為什麼,.但是我不可能一直不停增加廚師數量,因為每一時間段的客戶量是不定量,肯能正好夠我請的廚子這些人的工作量,也有可能只來一個人,那麼我這些廚師的工資不是白給了.所以必須結合自己的客流量實際情況選擇請合適人數的廚師,也就是線程數.

來來,小朋友們,我們來把這個線程數放開並設定為150個.

其中minspareThreads就是最小啟動數,也就是咱們餐館正式工有4個,其餘的話146都是臨時工,忙的時候才來.

那麼我們這伺服器就同一時間就只開放150個座位也就是150個人來訪問.

二.設定外部WEBAPP及使用根目錄開發

好,接下來我們繼續,如果我們要配置一個外部WEBAPP,怎麼辦呢?

我們開啟conf下的server.xml 添加一個欄位

<Context path="/myweb" docBase="e:\Jsp_Code\JBlog" reloadable="true"  debug = "0"/>

就這麼一段就可以了,那分別是什麼意思呢?

A:訪問路徑,主要是在URL上會有體現.

B:工程的實際路徑

C: 熱部署 就是當伺服器開著 如果你把工程內部修改,它也會更新,實

時載入,主要設定jsp

D:就是偵錯模式,例如你訪問伺服器上的不存在的頁面,就會返回404給你.

我們進server.xml設定一下

然後我們在開啟這個http://localhost:8080/myweb/a.jsp

我們發現我們可以訪問這個外部的web目錄了

還可以有兩種形式來配置外部web目錄

2.只有一個/

或者直接""

但是我們實際訪問,發現都是404為啥? 因為主目錄的root失去效果

很多人會問這個root是幹啥的呢.其實這個root還是很重要

ROOT一般是放歡迎介面的,如果我們有一個myweb,一般我們是放進ROOT裡面,但是我們

訪問是通過http://localhost/myweb訪問的,如果我們想使用http://localhost/來訪問myweb裡面

的內容怎麼辦呢?也就是我們想佔領這個http://localhost/這個路徑怎麼辦呢?

把myweb裡面的內容全部拿到ROOT下

同樣外部的WEBAPP也可以利用原理這個來替換

三.重頭戲Servlet

接下來呢,我們就拋離TomCat的知識點了,我們來講一講Servlet,Servlet作為以前sun的web最核心的技術之一.

好了,我們把目光轉向web這一部分,web不僅僅是jsp還有各種其他語言,他們的特點呢如.

在我們平常的web應用程式,既會有靜態頁面也會有動態網頁面,那麼什麼是靜態頁面,什麼又是動態網頁面呢?

商業的網站基本上都是動態+靜態,混合編程.

那麼既然我們要寫servlet 我們首先看看servlet與jsp的關係吧

說了這麼多,我們來實際開發一個servlet吧!

1.建立myeweb,

2.將ROOT下的WEB-INF拷貝過來

3.在myweb\WEB-INF建立立一個classes檔案夾,建立A.java

那麼在這個A.java中我們應該寫些啥呢,我們來寫個servlet版的HelloWorld吧!

4.將tomcat\lib\servlet-api.jar考入jre\lib\ext下,並將tomcat\lib\servlet-api.jar設定進classpath環境變數

5.在web.xml中添加你的servlet資訊

6.重啟

7.ok

那我們來把這個Servlet給分析一下,如

以上為凱歌學堂2014/11/8號之課程筆記[email protected] 熊大 2014.11.10.

J2EE學習筆記02 Server.xml知識點及Servlet初步

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.