1.將要調用的類名和方法名作為參數傳遞給servlet。這壹步有很多方法,比如使用框架或者直接使用xmlHttpRequest對象;
2.最好在配置文件中寫下要調用的類名和該類的完整包路徑。這裏假設類名為Hello,方法名為sayHello,sayHello方法沒有參數,類路徑為com.demo.Hello。
3.配置文件AjaxConfig.properties
Hello = com.demo.Hello
4.傳入的參數設置為class = hello &;method=sayHello
在servlet中執行以下操作:
string class name = request . getparameter(" class name ");
string method name = request . getparameter(" method ");
String classPath = null
5.讀取配置文件,取出對應於className的值,並將其放入classPath變量中。
Class c=Class.forName(類路徑);//加載您指定的類。
Class param[]=新類[0];//方法有0個參數。
方法m = null
String returnValue = null//返回值
嘗試{
m = c.getMethod("sayHello ",param);//獲取指定類中的指定方法。
} catch(安全異常e) {
// TODO自動生成的catch塊
e . printstacktrace();
} catch(NoSuchMethodException e){
// TODO自動生成的catch塊
e . printstacktrace();
}
嘗試{
return value =(String)m . invoke(c . new instance(),new Object[0]);//調用您指定的方法。
} catch(IllegalArgumentException e){
// TODO自動生成的catch塊
e . printstacktrace();
} catch(IllegalAccessException e){
// TODO自動生成的catch塊
e . printstacktrace();
} catch(InvocationTargetException e){
// TODO自動生成的catch塊
e . printstacktrace();
} catch(instantiation exception e){
// TODO自動生成的catch塊
e . printstacktrace();
}
6.只需將returnValue的值返回給客戶端。
比如Hello.java。
公開課妳好
{
公共字符串sayHello()
{
回“妳好”;
}
}