构建处理事务的Servlet,并部署web.xml中,引用路径/handle
package com.reflect.handle;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HandlerServlet extends HttpServlet{
protected void service(HttpServletRequest request, HttpServletResponse response){
try{
request.setCharacterEncoding("GB2312");
response.setContentType("text/html; charset=GB2312");
PrintWriter out = response.getWriter();
String className = request.getParameter("class").trim();
String classMethod = request.getParameter("method").trim();
String param = request.getParameter("param").trim();
Class c = Class.forName(className);
Object targetObj = c.newInstance();
Class[] param1={String.class};
Method setNameMethod = c.getMethod(classMethod, param1);
Object[] argObj = {className};
Object k = setNameMethod.invoke(targetObj, argObj);
out.print(k);
}
catch(Exception ex){
out.print(ex.getMessage());
}
}
}
业务类1
package com.reflect;
public class Test1{
public String Test(String kk){
return "com.reflect.Test1:Test()"+kk;
}
}
业务类2
package com.reflect;
public class Test 2{
public String Test(String kk){
return "com.reflect.Test2:Test()"+kk;
}
}
访问:
http://localhost:8080/handle?class=com.reflect.Test1&&method=Test&¶m=Qiu
http://localhost:8080/handle?class=com.reflect.Test2&&method=Test&¶m=Qiu
原文出处:http://blog.csdn.net/qiulei563/archive/2009/03/22/4015143.aspx