how2j.cn


20分13秒
本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项)

步骤 1 : 一个路径对应一个Servlet的弊端   
步骤 2 : 对设计进行改进   
步骤 3 : 原理流程图   
步骤 4 : 代码讲解 - BackServletFilter   
步骤 5 : 代码讲解 - CategoryServlet和BaseBackServlet   
步骤 6 : 一个Servlet类就能满足CRUD一系列业务要求   

步骤 1 :

一个路径对应一个Servlet的弊端

通过观察

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的弊端
步骤 2 :

对设计进行改进

但是观察已经实现了分类管理的可运行项目下载包里的代码,却发现Servlet只有一个即CategoryServlet,web.xml里,也只有一个CategoryServlet的映射,并没有5个映射。

如图是对于最后完工了的项目的servlet包里类的截图,可以发现,每种实体类,对应了一个Servlet,而不是对应了5个,这样首先从Servlet数量上来讲,就大大的减少了
对设计进行改进
步骤 3 :

原理流程图

增值内容,请先登录
步骤 4 :

代码讲解 - BackServletFilter

增值内容,请先登录
步骤 5 :

代码讲解 - CategoryServlet和BaseBackServlet

增值内容,请先登录
步骤 6 :

一个Servlet类就能满足CRUD一系列业务要求

通过这样一种模式,一个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()方法
一个Servlet类就能满足CRUD一系列业务要求


HOW2J公众号,关注后实时获知布最新的教程和优惠活动,谢谢。


关于 实践项目-天猫整站J2EE-Filter配合Servlet 的提问

尽量提供截图代码异常信息,有助于分析和解决问题。 也可进本站QQ群交流: 620943819
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
在已经存在的几千个提问里,有相当大的比例,是因为使用了和站长不同版本的开发环境导致的,比如 jdk, eclpise, idea, mysql,tomcat 等等软件的版本不一致。
请使用和站长一样的版本,可以节约自己大量的学习时间。 站长把教学中用的软件版本整理了,都统一放在了这里, 方便大家下载: http://how2j.cn/k/helloworld/helloworld-version/1718.html

上传截图