天天看点

卷妹的成长日记之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。