Servlet利用反射动态调用方法

亦凉 2023-06-02 10:38 99阅读 0赞
  1. protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  2. //请求编码
  3. request.setCharacterEncoding("utf-8");
  4. //响应编码
  5. response.setContentType("text/html;charset=utf-8");
  6. //获取参数
  7. String method = request.getParameter("method");
  8. //利用反射动态调用方法
  9. try {
  10. //获取一个类对象
  11. Class<?> clazz = Class.forName("Servlet.Servletcomplex");
  12. //获取当前类public、protected和private修饰的方法
  13. Method me = clazz.getDeclaredMethod(method, HttpServletRequest.class, HttpServletResponse.class);
  14. //修改java安全检查权限
  15. me.setAccessible(true);
  16. //执行方法
  17. me.invoke(clazz.newInstance(),request,response);
  18. } catch (ClassNotFoundException e) {
  19. e.printStackTrace();
  20. } catch (NoSuchMethodException e) {
  21. e.printStackTrace();
  22. } catch (IllegalAccessException e) {
  23. e.printStackTrace();
  24. } catch (InstantiationException e) {
  25. e.printStackTrace();
  26. } catch (InvocationTargetException e) {
  27. e.printStackTrace();
  28. }
  29. }

发表评论

表情:
评论列表 (有 0 条评论,99人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Java反射API:动态调用方法

    在Java中,反射API允许我们在运行时获取类的信息(如字段、方法等)并动态调用它们。以下是一些主要的反射API和使用示例: 1. 类加载器(ClassLoader):