自定义HTTPServlet中的请求方式:
本Markdown编辑器使用[StackEdit][6]修改而来,用它写博客,将会带来全新的体验哦:
- 应用中的所有对Servlet的请求都需要添加method=xxx的请求参数
- 在应用的Servlet类中, 只需要定义处理请求的方法:
- public void xxx(HttpServletRequest req, HttpServletResponse resp) throws ServletException,IOException { }
抽象类代码块
public abstract class BaseServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException,
IOException {
req.setCharacterEncoding("utf-8");
String methodName = req.getParameter("method");
try {
Method method = this.getClass().getMethod(methodName,
HttpServletRequest.class,HttpServletResponse.class);
method.invoke(this, req, resp);
} catch (Exception e) {
//e.printStackTrace();
Throwable cause = e.getCause();
if(cause instanceof DBException) {
throw new DBException(cause);
}
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException,
IOException {
doGet(req, resp);
}