步骤 1 : 一个路径对应一个Servlet的弊端 步骤 2 : 对设计进行改进 步骤 3 : 原理流程图 步骤 4 : 代码讲解 - BackServletFilter 步骤 5 : 代码讲解 - CategoryServlet和BaseBackServlet 步骤 6 : 一个Servlet类就能满足CRUD一系列业务要求
通过观察
http://127.0.0.1:8080/tmall/admin_category_list 可以发现,分类管理需要:增加,删除,编辑,修改,查询5个服务端功能。 那么按照传统的在web.xml中配置Servlet的方式,一个路径对应一个Servlet的思路,就需要设计5个Servlet类,并且在web.xml中配置5个路径 AddCategoryServlet DeleteCategoryServlet EditCategoryServlet UpdateCategoryServlet ListCategoryServlet 而后台需要做分类,产品,属性,产品图片,用户,订单这么6种管理,那么就一共需要30个Servlet,以及在web.xml中对应的配置,那么配置文件就会变得臃肿,并且容易出错
但是观察已经实现了分类管理的可运行项目下载包里的代码,却发现Servlet只有一个即CategoryServlet,web.xml里,也只有一个CategoryServlet的映射,并没有5个映射。
如图是对于最后完工了的项目的servlet包里类的截图,可以发现,每种实体类,对应了一个Servlet,而不是对应了5个,这样首先从Servlet数量上来讲,就大大的减少了
通过这样一种模式,一个Servlet类就能满足CRUD一系列业务要求
如果访问的路径是admin_category_list,就会调用categoryServlet.list()方法 如果访问的路径是admin_category_add,就会调用categoryServlet.add()方法 如果访问的路径是admin_category_delete,就会调用categoryServlet.delete()方法 如果访问的路径是admin_category_edit,就会调用categoryServlet.edit()方法 如果访问的路径是admin_category_update,就会调用categoryServlet.update()方法
HOW2J公众号,关注后实时获知布最新的教程和优惠活动,谢谢。
![]() |