天天看點

卷妹的成長日記之javaweb day11

卷妹的成長日記之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。