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();
        } 
    } 
}

 

posted @ 2018-03-01 18:29  Jepson6669  阅读(335)  评论(0编辑  收藏  举报