0
点赞
收藏
分享

微信扫一扫

反射:获得运行时类的方法

清冷的蓝天天 2022-02-19 阅读 72
java

 @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        resp.setContentType("text/html;charset=UTF-8");
        String action=req.getParameter("action");
        try {
            // 获取 action 业务鉴别字符串,获取相应的业务方法反射对象
            //返回此Class对象所表示的类或接口的指定方法
            Method method = this.getClass().getDeclaredMethod(action,HttpServletRequest.class,HttpServletResponse.class);
            // 调用目标业务 方法
            method.invoke(this,req,resp);
        } catch (Exception e) {
            e.printStackTrace();
            throw new RuntimeException(e);//把异常抛给 Filter 过滤器
        }
    }

 

  • 注:

getDeclaredMethod() 获取的是类自身声明的所有方法,包含public、protected和private方法。

getMethod () 获取的是类的所有共有方法,这就包括自身的所有public方法,和从基类继承的、从接口实现的所有public方法。

举报

相关推荐

0 条评论