BaseServlet 是项目中所有servlet的父类,作用是为了让一个servlet可以同时处理多个请求候,每一个需求就要创建一个servlet,这样会显得很臃肿,所以就用到BaseServlet;采用的是反射的技术。
BaseServlet就应运而生了,它作为一个项目中所有servlet的基类,(个人感觉该类属于设计模式中的前端控制器,类似SpringMVC的DispatcherServlet),其中并没有任何的业务逻辑,只负责将请求处理后分发到不同的servlet进行不同的处理。
BaseServlet类只重写了service方法所以我只贴出service方法的代码
void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//下面这个if语句可以不用看,这里用到了我项目中另一个类:GetRequest,该类继承了HttpRequestWrapper,将request进行了包装,主要是防止乱码 if(((HttpServletRequest)request).getMethod().equalsIgnoreCase("get")) {
if(!(request instanceof GetRequest)) {
request = new GetRequest((HttpServletRequest)request);
}
} else {
((HttpServletRequest)request).setCharacterEnco