社区
Java EE
帖子详情
为什么我的Class.forName(类名)得不到我的类
tiankong16354
2003-10-09 04:44:18
我单独调试这个方法没有错误,但是当我通过ejb访问的时候就报错了
请问要怎么解决啊?
...全文
172
4
打赏
收藏
为什么我的Class.forName(类名)得不到我的类
我单独调试这个方法没有错误,但是当我通过ejb访问的时候就报错了 请问要怎么解决啊?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zihuilegend
2003-10-09
打赏
举报
回复
你的路径没有设对吧
两种方法:
1、把数据库的驱动程序放到[工程属性]->[需要类库]中
2、打开[Tools]->[Configure JDKs],在class中添加该驱动程序
然后在程序中写入引用路径就可以了 你先打点 看看能不能出来 试试
jkit
2003-10-09
打赏
举报
回复
Class.forName(包名.类名)
tiankong16354
2003-10-09
打赏
举报
回复
我用测试程序单独调过,没有报错,但是只要通过ejb访问processEvent()就报错了,
错误:Exception occurred in target VM
测试程序很简单:
public static void main(String[] args) {
test test1 = new test();
EJBAction action = null;
StateMachine sm=new StateMachine(null,null);
action=sm.getAction("类名");
}
测试是成功的
tiankong16354
2003-10-09
打赏
举报
回复
程序如下:
public EventResponse processEvent(Event ev) throws EventException {
String actionName = ev.getEJBActionClassName();
EventResponse response = null;
if (actionName != null) {
EJBAction action = null;
//try {
if (actionMap.get(actionName) != null) {
action = (EJBAction)actionMap.get(actionName);
} else {//mtn.nudt.waf.controller.ejb.action.actions
//Class.forName(actionName).newInstance();
// action = (LotteryOperationEJBAction)Class.forName(actionName).newInstance();
action = getAction(actionName);
actionMap.put(actionName, action);
}
//} catch (Exception ex) {
// System.err.println("StateMachine: error loading " + actionName + " :" + ex);
// }
if (action != null) {
action.init(this);
// do the magic
action.doStart();
response = action.perform(ev);
action.doEnd();
}
}
return response;
}
public EJBAction getAction(String actionName) {
EJBAction handler = null;
try {
//handler = (EJBAction)getClass().getClassLoader().loadClass("mtn.nudt.waf.controller.ejb.action.actions.ChangeLocaleEJBAction").newInstance();
handler = (EJBAction)Class.forName(actionName).newInstance();//得到一个类的实例,它的所有属性值都为空null
System.out.println("ok");
} catch (Exception ex) {
System.err.println("StateMachine: error loading " + actionName + " :" + ex);
}
return handler;
}
java中
Class
对象获取方式:
类
名
.
class
,
class
.forName(), get
Class
()区别
在我们了解三个方法的区别之前,我们先思考一下,什么是
Class
类
,为什么会有
Class
类
? ①、什么是
Class
类
在java世界里,一切皆对象。从某种意义上来说,java有两种对象:实例对象和
Class
对象。每个
类
的运行时的
类
型信息就是用
Class
对象表示的。它包含了与
类
有关的信息。其实我们的实例对象就通过
Class
对象来创建的。Java使用
Class
对象执行其RTTI(运行时
类
型识别,Run-Time Type Identification),多态是基于RTTI实现的。 ...
关于
Class
.forname()函数出现异常,找不到
类
的问题
出现原因为找不到该
类
,forname指向为空,得指定该
类
的包名,我的是week,注意包名后面要加小黑点。旧:Object obj=
Class
.forName(新:Object obj=
Class
.forName(
Java中的
类
加载和
Class
.forName();java反射机制与原理
转载:https://blog.csdn.net/fireblue1990/article/details/74055955 对于大部分人来说,第一次见到
class
.forName(String
class
Name)这句代码应该是在使用jdbc方式连接数据库的时候。但这句代码本质上是什么含义,做了什么工作呢?本文将回答此问题。 理解
Class
.forName方法需要一些知识铺垫,也就是C...
深入学习java源码之
Class
.forName()与
Class
.getDeclaredField()
深入学习java源码之
Class
.forName()与
Class
.getDeclaredField() java反射 什么是反射 反射 (Reflection) 是 Java 的特征之一,它允许运行中的 Java 程序获取自身的信息,并且可以操作
类
或对象的内部属性 简而言之,通过反射,我们可以在运行时获得程序或程序集中每一个
类
型的成员和成员的信息。程序中一般的对象的
类
型都是在编译期就确...
JDBC中
Class
.forName()的作用
使用JDBC时
Class
.forName()的作用
Class
.forName(xxx.xx.xx) 返回的是一个
类
首先你要明白在java里面任何
class
都要装载在虚拟机上才能运行。这句话就是装载
类
用的(和new 不一样,要分清楚)。 至于什么时候用,你可以考虑一下这个问题,给你一个字符串变量,它代表一个
类
的包名和
类
名
,你怎么实例化它?只有你提到的这个方法了,不过要再加一点。
Java EE
67,512
社区成员
225,880
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章