public class BaseServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
@Override
public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
**//乱码的处理
//请求页面的乱码处理**
request.setCharacterEncoding(“UTF-8”);
//响应页面的乱码处理
response.setContentType(“text/html;charset=utf-8”);
//获取方法的名称
String methodname = request.getParameter(“method”);
//判断方法是否存在
if(methodname==null||”“.equals(methodname)){
response.getWriter().println(“方法名为空”);
}
//获取字节码对象
Class clazz=this.getClass();
try {
//获取方法
Method method = clazz.getMethod(methodname,HttpServletRequest.class,HttpServletResponse.class );
//获取要相应的路径
String path =(String)method.invoke(this,request,response);
//页面的跳转
if(path!=null){
request.getRequestDispatcher(path).forward(request, response);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
其中Class clazz=this.getClass();····· this指的是要继承的BaseServlet的servlet类
比如: public class UserServlet extends BaseServlet{}; 上面的this指的是UserServlet这个servlet类
public class ProductServlet extends BaseServlet{};上面的this指的是ProductServlet的servlet的类