当前页面: 开发资料首页 → JSP 专题 → jsp页面动态加载类的问题
jsp页面动态加载类的问题
摘要: jsp页面动态加载类的问题
我定义了一个接口,一个抽象类,一个实现读取的类
另外写了test的测试类并放在了运行环境下
但是只要在jsp中运行就出错,单独测试实现读取的类就没有问题
下面为代码
--------------------------------------------------
package tools;
public class GetServiceXmlString {
String szPackClassName = "";
public GetServiceXmlString() {
}
public void setPackClassName(String sz){
this.szPackClassName = sz;
}
public String getXmlString(){
String szTmp = "";
Object t = null;
try {
t = Class.forName(szPackClassName).newInstance();
MapServiceReg objService = (MapServiceReg) t;
szTmp = objService.doRegister();
} catch (ClassNotFoundException ex) {
szTmp = ex.getMessage();
} catch (IllegalAccessException ex) {
szTmp = ex.getMessage();
} catch (InstantiationException ex) {
szTmp = ex.getMessage();
} catch (Exception ex) {
szTmp = ex.getMessage();
}
return(szTmp);
}
public static void main(String[] a){
GetServiceXmlString b = new GetServiceXmlString();
b.setPackClassName("test.test");
b.getXmlString();
}
}
---------------------------------------------
package tools;
public abstract class MapServiceReg implements Register {
public String doRegister(){return("");}
public String unRegister(){return("");}
}
-----------------------------
package tools;
public interface Register {
public String doRegister();
public String unRegister();
}
---------------------------------
package test;
import tools.MapServiceReg;
public class test extends MapServiceReg{
public test() {
}
public String doRegister() {
return "aaa";
}
public String unRegister() {
return "bbb";
}
}
---------------------
jsp页面
<%@ page language="java" import="tools.*" %>
<%
GetServiceXmlString objService = new GetServiceXmlString();
objService.setPackClassName("test.test");
String a = objService.getXmlString();
out.print(a);
%>
这样加载不上。。。有没有达人帮解决一下
另外问一下,我要找的那个类包,应该放入那里?
WEB-INF/classes
OR
WEB-INF/lib/xxx.jar
WEB-INF/lib下加入所引用的jar文件
mark
mark!
up
大家继续猜答案...
已经解决。。。。。。。
你要强制转换的类型里面
必须有个newInstance()的方法才可以