zoukankan      html  css  js  c++  java
  • Maven项目- Servlet的抽取和优化 java.lang.NoSuchMethodException 的解决方法

      优化servlet,减少servlet的数量,便于开发与维护。现在是一个功能一个Servlet,将其优化为一个模块一个Servlet,BaseServlet的抽取和优化,相当于在数据库中一张表对应一个Servlet,在Servlet中提供不同的方法,完成用户的请求。

    异常显示:没有这样的方法。

    问题所在:方法的声明是protected受保护的,

    解决方法:

      1. 不好的方式: 声明为protected的方法要想被访问到,获取方法的时候我们要忽略访问修饰符,用

    Method method = this.getClass().getDeclaredMethod(methodName, HttpServletRequest.class, HttpServletResponse.class);

    忽略访问权限修饰符获取方法,然后暴力反射method.setAccessible(true);

    这样做包括私有的方法都可以获取到,并且可以执行,但是这样的做法不好,因为在servlet里面一些私有的方法并不像被别人

    访问到。

      

     2. 最好的方式: 把这些方法的权限修饰符修改成public就好了。

           

           

  • 相关阅读:
    Linux--shell的awk--10
    Spring Boot 整合 tk.mybatis
    pring Boot 整合 Druid
    Thymeleaf 模板布局
    Thymeleaf 内置对象
    Thymeleaf 表达式语法
    Thymeleaf 参考手册
    Thymeleaf常用语法
    Thymeleaf简介及第一个thymeleaf模板
    Docker 安装nginx
  • 原文地址:https://www.cnblogs.com/wqkeep/p/10412978.html
Copyright © 2011-2022 走看看