3年碼農的我帶你深刻了解Servlet知識點,想精通看這一篇就夠了

Hello,今天給各位童鞋們分享的是Servlet,趕忙拿出小本子記下來吧java

image.png

Servlet

servlet是sun公司開發動態web的一門技術web

sun在這些api中提供了一個接口叫作servlet,若是要作一個servlet程序,只要兩個步驟api

一、編寫一個類,實現servlet接口瀏覽器

二、把開發好的java類部署到web服務器中服務器

把實現了servlet接口的java程序叫作servletmarkdown

HelloServlet

一、構建一個普通的maven項目。刪掉src目錄,之後咱們的學習就在這個項目裏面創建Moudle;這個空的工程就是maven主工程app

二、關於maven父子工程的理解:maven

父項目中會有:學習

image.png 子項目中會有:測試

image.png 父項目中的jar包,子項目能夠直接使用son extends father三、maven環境優化

修改web.xml爲最新的

將maven結構搭建完整四、編寫一個servlet程序

編寫一個普通類

實現一個接口,直接繼承HttpServlet

image.png 五、編寫servlet的映射

咱們寫的是java程序,可是要經過瀏覽器訪問,而瀏覽器須要鏈接web服務器,咱們須要在web服務中註冊咱們寫的servlet,還須要給他一個瀏覽器可以訪問的地址

【注意】

在這裏配置web.xml文件的時候,web-app標籤出現了紅線報錯,剛開始我碰到這個問題的時候很詛喪,感受怎麼會有這個錯誤,大體看了下還像是定義上缺失了一些元素,而後聰明的我將錯誤提示覆制下來查詢了下,發現瞭解決方案:

解決servlet項目web.xml文件中web-app標籤報錯

六、配置Tomcat

七、啓動測試

Servlet原理

Servlet是由web服務器調用,web服務器在收到瀏覽器請求以後

image.png

Mapping問題

一、一個servlet能夠指定一個映射路徑

image.png 二、一個servlet能夠指定多個映射路徑

image.png 三、一個servlet能夠指定通用映射路徑

image.png 四、默認請求路徑

image.png *前面不能夠加映射路徑,好比:

image.png

五、指定一些後綴或者前綴

image.png

六、優先級問題指定了固有的映射路徑優先級最高,若是找不到就會走默認的請求處理

image.png

ServletContext

web容器在啓動的時候,它會爲每一個web程序都建立一個servletContext對象,表明當前應用:

一、共享數據:我在這個servlet保存的數據能夠在另外一個servlet訪問到輸入數據:

image.png

image.png 輸出數據 :

image.png

image.png 二、獲取初始化參數第一步,配置web.xml:

image.png 第二步,寫實現類

image.png 第三步:輸出

image.png 三、請求轉發

image.png 四、讀取資源文件Properties類

java目錄下生成properties

resources目錄下生成properties發現:都被打包到了同一個路徑下:classes,咱們俗稱路徑爲classpath;【思路】

須要一個文件流

image.png 訪問測試便可!!!!!

HttpServletResponse

web服務器接收到客戶端的http請求,針對這個請求會分別建立表明請求的HttpServletResponse對象,表明響應的一個HttpServletResponse;

若是要獲取咱們客戶端請求過來的參數,找HttpServletRequest

若是要給客戶端響應一些參數,找HttpServletResponse

一、簡單分類

負責向瀏覽器發送數據的方法:

ServletOutputStream getOutputStream() throws IOException;

PrintWriter getWriter() throws IOException;
複製代碼

負責向瀏覽器發送響應頭的方法

image.png 二、常見應用

向瀏覽器輸出消息

下載文件,上傳文件

(1)獲取下載文件的路徑

(2)下載的文件名

(3)想辦法讓瀏覽器支持咱們下載須要的東西

(4)獲取下載文件的輸入流

(5)建立緩衝區

(6)獲取OutputStream對象

(7)將OutputStream流寫到緩衝區

(8)使用OutputStream將緩衝區的數據寫到客戶端

image.png

好啦,今天的文章就到這裏了,但願可以幫助到屏幕前迷茫的大家

相關文章
相關標籤/搜索