传统servlet存在的问题
- 每一个不同的请求都要写Servlet,导致整个项目servlet过多,不易维护
解决方案
- 同一个模块只写一个Servlet,然后每一个请求传一个参数,后台根据参数取调用不同的业务方法
实现代码
- 1.使用if语句判断的方法
- 前端请求(假设有四个请求)
- 写一个Servlet,在service方法中进行参数判断,并调用具体方法(注:将请求转发的内容也写在这里,统一转发)
- 具体的业务方法(注:方法返回一个字符串作为请求转发的路径)
- 前端请求(假设有四个请求)
- 2.if判断实现存在的问题
- if结构太长,新的请求仍然要修改此处代码
- 3.使用反射机制进行改进
最后将这个service方法单独写入一个类中,此后对于不同模块的servlet都继承这个类,然后只需要写对应的业务逻辑代码即可。