Servlet04.Servlet优化
1.为什么优化:
一个Servlet默认只处理一种请求:增加了开发复杂度
例如LoginServlet只处理登录请求,RegistServlet只处理注册请求
2.优化Servlet为:
一个Servlet处理一类请求:
UserServlet:可以同时处理登录和注册。
3.如何优化:
I.开发一个BaseServlet extends HttpServlet(核心控制器):其它Servlet的父类
接收用户请求
分发请求(反射)到相应Servlet的方法中处理请求:
1.获取URI
2.截取URI获取对应的方法名
3.通过反射进行方法调用。
II.编写业务处理Servlet extends BaseServlet(业务控制器):业务控制器不要重写service()
例如:UserServlet:regist(),login()
4.请求流转过程:
前端发请求---核心控制器的service()---获取uri---得到methodName---反射调用方法---分发请求到相应业务控制的方法
注意:
uri需要和业务控制器的方法名对应:如果不对应,自定义注解进行映射:读取注解的属性值---反射调用方法
各个业务控制器中的重复代码都可以提取到核心控制器的service()中:例如中文乱码问题
5.开发注意事项:
I. 业务控制器 extends BaseServlet
II.Web.xml中只对业务控制器进行配置:url-pattern必须使用通配的形式
6.具体开发:
6.1项目框架结构:
具体代码:
控制层:
BaseServlet:
GodServlet