017-Servlet抽取时的BaseServlet模板代码
package www.test.web.servlet; import java.io.IOException; import java.lang.reflect.Method; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @SuppressWarnings("all") public class BaseServlet extends HttpServlet { @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //解决乱码问题 resp.setContentType("text/html;charset=UTF-8"); try { // 1 获得请求的method方法 String methodName = req.getParameter("method"); // 2获得当前被访问的对象的字节码对象 Class clazz = this.getClass(); //ProductServlet.class --- UserServlet.class // 3 获取当前字节码对象中指定的方法 Method method = clazz.getMethod(methodName,HttpServletRequest.class,HttpServletResponse.class); // 4 执行相应的方法 method.invoke(this,req,resp); } catch (Exception e) { e.printStackTrace(); } } }