重写httpservlet,增强功能
重写httpservlet,增强功能
_懵懵懂懂 发表于3年前
重写httpservlet,增强功能
  • 发表于 3年前
  • 阅读 8
  • 收藏 0
  • 点赞 0
  • 评论 0

【腾讯云】如何购买服务器最划算?>>>   

摘要: 增强httpservlet的功能: sevlet生命周期方法中他会执行service方法,执行service方法是看有没有父类,如果有父类的话就会执行父类的service方法,调用servlet时,把要执行的方法名传递过去了,父类的service方法反射执行子类对应的方法 这样就可以写一个servlet里面执行多个方法 如果不继承这个baseservelt,就得继承httpservlet,这时候你的servlet方法中就只能写两个方法,get和post

package cn.book.utils;
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;
/**
 * 使用反射动态的调用子类的方法
 */
public abstract class BaseServlet extends HttpServlet {
    @Override
    public void service(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        String method = req.getParameter("method");
        if(method==null || method.trim().equals("")){
            method="execute";
        }
        try{
            Method m = this.getClass().getMethod(method,HttpServletRequest.class,HttpServletResponse.class);
            m.invoke(this,req,resp);
        }catch(Exception e){
            throw new RuntimeException(e);
        }
    }
    public abstract void execute(HttpServletRequest req,HttpServletResponse resp) throws Exception;
}



共有 人打赏支持
粉丝 1
博文 1
码字总数 226
×
_懵懵懂懂
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: