Java自动调用实现类_利用java反射机制实现自动调用类的简单方法

利用java反射机制实现自动调用类的简单方法

发布于 2020-6-2|

复制链接

下面小妖就为大家带来一篇利用java反射机制实现自动调用类的简单方法。小妖觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小妖过来看看吧

1. 新建TestServlet类

```java

package com.yanek.test;

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 class TestServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

// 获取类的全路径以及名称

String className = request.getParameter("className");

// 获取方法名

String methodName = request.getParameter("method");

try {

// 获取class文件

Class t_class = Class.forName(className);

// 获取该类所需求的方法

Method method = t_class.getDeclaredMethod(methodName,

HttpServletRequest.class, HttpServletResponse.class);

method.invoke(t_class.newInstance(), request, response);// 方法的实现

} catch (Exception e) {

e.printStackTrace();

}

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

doGet(request, response);

}

}

```

2. 建立需要自动调用的类

```javascript

package com.yanek.test;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class Test {

/**

* @param args

*/

public static void main(String[] args) {

System.out.println("hello world !");

}

public void test(HttpServletRequest request, HttpServletResponse response) {

System.out.println("hello");

System.out.println(request.getParameter("username"));

}

}

```

3. web.xml配置

```java

Test

Test

Test

com.yanek.test.TestServlet

1

Test

/Test

index.jsp

BASIC

```

4. 启动服务器访问:http://127.0.0.1:8081/TestPrj/Test?className=com.yanek.test.Test&method=test&username=aspboy控制台输出:helloaspboy说明: 类com.yanek.test.Test类的 方法 public void test(HttpServletRequest request, HttpServletResponse response) 被执行了.反射机制是java中的重要功能,在框架设计中大量使用.测试环境: tomcat6.0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值