卷妹的成長日記之javaweb day11
👩💻部落格首頁:京與舊鋪的部落格首頁
✨歡迎關注🖱點贊🎀收藏⭐留言✒
🔮本文由京與舊鋪原創,
😘系列專欄:java學習
👕參考網站:動力節點
💻首發時間:🎞2022年8月25日🎠
🎨你做三四月的事,八九月就會有答案,一起加油吧
🀄如果覺得部落客的文章還不錯的話,請三連支援一下部落客哦
🛒導航小助手🎪
Servlet注解,簡化配置
- 分析oa項目中的web.xml檔案
- 現在隻是一個單标的CRUD,沒有複雜的業務邏輯,很簡單的一丢丢功能。web.xml檔案中就有如此多的配置資訊。如果采用這種方式,對于一個大的項目來說,這樣的話web.xml檔案會非常龐大,有可能最終會達到幾十兆。
- 在web.xml檔案中進行servlet資訊的配置,顯然開發效率比較低,每一個都需要配置一下。
- 而且在web.xml檔案中的配置是很少被修改的,是以這種配置資訊能不能直接寫到java類當中呢?可以的。
- Servlet3.0版本之後,推出了各種Servlet基于注解式開發。優點是什麼?
- 開發效率高,不需要編寫大量的配置資訊。直接在java類上使用注解進行标注。
- web.xml檔案體積變小了。
- 并不是說注解有了之後,web.xml檔案就不需要了:
- 有一些需要變化的資訊,還是要配置到web.xml檔案中。一般都是 注解+配置檔案 的開發模式。
- 一些不會經常變化修改的配置建議使用注解。一些可能會被修改的建議寫到配置檔案中。
- 我們的第一個注解:
jakarta.servlet.annotation.WebServlet
- 在Servlet類上使用:@WebServlet,WebServlet注解中有哪些屬性呢?
- name屬性:用來指定Servlet的名字。等同于:
- urlPatterns屬性:用來指定Servlet的映射路徑。可以指定多個字元串。
- loadOnStartUp屬性:用來指定在伺服器啟動階段是否加載該Servlet。等同于:
- value屬性:當注解的屬性名是value的時候,使用注解的時候,value屬性名是可以省略的。
- 注意:不是必須将所有屬性都寫上,隻需要提供需要的。(需要什麼用什麼。)
- 注意:屬性是一個數組,如果數組中隻有一個元素,使用該注解的時候,屬性值的大括号可以省略。
- 注解對象的使用格式:
- @注解名稱(屬性名=屬性值, 屬性名=屬性值, 屬性名=屬性值…)
使用模闆方法設計模式優化oa項目
- 上面的注解解決了配置檔案的問題。但是現在的oa項目仍然存在一個比較臃腫的問題。
- 一個單标的CRUD,就寫了6個Servlet。如果一個複雜的業務系統,這種開發方式,顯然會導緻類爆炸。(類的數量太大。)
- 怎麼解決這個類爆炸問題?可以使用模闆方法設計模式。
- 怎麼解決類爆炸問題?
- 以前的設計是一個請求一個Servlet類。1000個請求對應1000個Servlet類。導緻類爆炸。
- 可以這樣做:一個請求對應一個方法。一個業務對應一個Servlet類。
- 處理部門相關業務的對應一個DeptServlet。處理使用者相關業務的對應一個UserServlet。處理銀行卡卡片業務對應一個CardServlet。