我们在使用servlet的时候会频繁的重写doget,dopost之类的方法,在通常情况下我们会把一系列操作方法写到一个类中,比如对用户的操作就写在一个方法中
操作方法:
1.写一个BaseServlet类 使其继承HttpServlet
2.重写doPost方法在方法中写入以下代码
3.对系列操作的类继承BaseServlet
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
req.setCharacterEncoding("utf8");
resp.setContentType("text/html;charset=utf8");
String action = req.getParameter("method");
//使用反射执行业务方法
try {
//获取方法
Method method = this.getClass().getDeclaredMethod(action, HttpServletRequest.class, HttpServletResponse.class);
//设置权限 (访问私有)
method.setAccessible(true);
//执行方法
method.invoke(this, req, resp);
} catch (NoSuchMethodException | InvocationTargetException | IllegalAccessException e) {
throw new RuntimeException(e);
}
}