您的位置:首页 > 其它

反射机制构建web应用(Demo)

2009-04-17 19:55 274 查看
构建处理事务的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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: