標籤:des style blog http ar os 使用 sp on
內容概要:
1.使用Myeclipse工具開發工程
A:為啥要用myeclipse
B:Myeclipse配置外部TomCat
C:如何建立WEB工程及建立servlet相關知識以及自動部署
2.深入分析TomCat中Servlet的訪問流程
3.Servlet生命週期及如何啟動時構建
4.分析Servlet類及HttpServlet的關係,以及為什麼要這麼做.
5.再次深入分析TomCat中servlet的訪問流程
關鍵詞:
Myeclipse ,servlet,jar,war,ear,init(),destory(),lifecycle
詳細內容:
一.使用Myeclipse工具開發工程
A:為啥要用myeclipse
我們上節課呢,學習到了一個web的servlet的配置.這節課呢我們來學慣用Myeclipse工具來開發工程.
為什麼用Myeclipse來開發呢,很多人把Myeclipse比作為鐵匠鋪,它所有的工具呢都可以自己來打造,另外用ide的話開發比較快,誰用誰知道.
下面我來拿myweb說點事,有的人會說我自己手動也可以啊,但是每次自己手動建立的話非常浪費時間和容易出錯,所以我們用工具要簡單和方便.
不過這個工具呢 越來越卡 ,最好不要裝最新版本的,以前安裝myeclipse呢要先安裝eclipse.再裝myeclipse,現在不需要,直接裝就好了.
B:Myeclipse配置
Myeclipse有自己內建的伺服器,也可以用外部伺服器,我們下面來看看如何配置外部服務
器吧.
Ladies and gentleman,看這裡,首先我們開啟window->preferences
1.然後再看這裡,輸入tomcat.
2.找到你的對應tomact的版本配置.
3.然後選中tomcat主目錄
4.點擊確定回到TomCat8.x配置目錄
5.點擊enable伺服器
6.點擊確定
記得一定要enable啊,
然後我們開啟一下 看行不行
C:如何建立WEB工程及建立servlet相關知識以及自動部署
那麼伺服器既然好了,我們來看看如何建立工程吧
那麼這裡這麼多工程我們該選哪個呢?
來 我們看下這個圖
如果我們這個class多了我們應該打成什麼包,對,打成jar包,web工程應該打成什麼包?對,應該打成war包.另外補充一點ear包是包含
既然瞭解了這個分類,我們來實際建立個項目來試試吧!
我們看下個建立出來的工程目錄,可能有人會說 ,哎呀,為啥我這個目錄是WebRoot呀!咋不是myweb呢?
小夥伴們,切勿驚慌啊! 大家在工程上右擊選擇屬性
來,小朋友們,我們來建立一個servlet,來看我示範啊
首先我們在src上右鍵選擇new
然後呢 我們在選擇Servlet左鍵確定
其中這個需要重寫的方法呢,我們就按照其預設的吧.
那麼好我們繼續,我們給他起個名字交HelloServlet,我們就預設點下一步,看看還有什麼是需要我們去設定的.
好了 經過以上的這些步驟呢,我們用myeclipse建立了一個Servlet.
接著呢,我們重寫一個Servlet的service方法,並且寫一句hello servlet 看當使用者訪問我們的servlet的時候,我們的終端會不會輸出這麼一句話.
好,那我們將這個JBlog給部署到我們的tomcat伺服器上看看效果吧
在我們的項目上右鍵
選擇myeclipse
再選擇
接下來,如選擇
好,既然我們的JBlog程式已經發布和部署到了我們的TomCat8伺服器,我們來看看效果吧
我們再來看一下console
好,我們第一個用myeclipse建立的Servlet 就這樣搞定了
二.那麼接下來,我們要搞什麼呢,我們要去講一下這個Servlet的訪問流程
這是當訪問這個servlet是選擇doPost還是doGet方法的流程圖,那麼我們再看一個重要的圖.
三.Servlet的生命週期
那麼我們下面在代碼中來實際的實驗一下
我們在servlet重寫init和destroy方法.並在其中來進行一個輸出
Init()如下
destory()如下
那我們來看看效果,分別啟動和關閉tomcat
要注意一點的是Servlet只產生一次(第一次客戶訪問的時候產生),直到他死,也就是伺服器關閉.
那麼當我們在次訪問,就不會再次產生因為已經產生過了如.一次產生次次使用
那麼如何在伺服器啟動的時候,就自動構造Servlet對象呢?
在web.xml中加入一個參數?什麼參數?就是load-on-startup參數
好了,我們來看下效果,關閉並重新啟動TomCat
四.分析Servlet類及HttpServlet的關係,以及為什麼要這麼做.
那麼接下來 我們分析一下Servlet和HttpServlet的關係 ,如
那麼我們來分析一下,這樣做是為了什麼.
其實啊,這個老外想的就比較久遠,將來要是不止這個http協議怎麼辦呢,我們把servlet抽象出來,以便我們以後更好的代碼複用.
五.再次深入分析TomCat中servlet的訪問流程
我們以前已經分析過一次Tomcat中servlet的訪問流程,那麼現在我再次深入分析一下其流程,其實在訪問這個servlet的doPost()和doGet()之前還訪問了一個東西就是service.
綜合所述,如果我們重寫service的話,我們就不需要管他是get還是post了
好,那我們來嘗試一下
如下:
那麼我們來看一下效果
好,通過這點,我們驗證了我們之前的流程圖裡面的有關service的說法
J2EE學習筆記03