关于JNDI与反射的问题 要利用反射,你至少也要有一个对象实例吧,只有jndi名称,如何进行反射?不懂。另外“想通过反射的方法去调用他们的同一固定方法“石说,这几个sessionBean有相同的方法吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我就是想通过jndi名称取得其对应的class啊,其实也可以不需要具体的class,只要它的path就行了,如org.eb.XXXBean,然后就可以进行反射了。我说的“想通过反射的方法去调用他们的同一固定方法“只是举例子吧了,其实我想做的复杂的多,已经实现通过预先输入path完成功能,但是这样就对软件包的使用带来了不方便之处。望有解决办法的同志们多多提示!谢谢了 >> 只要它的path就行了,如org.eb.XXXBean,然后就可以进行反射了。只能反射静态方法,没有实例怎么反射实例的方法?还有jndi得到的很可能是远程对象,远程对象能不能用反射?总之反射不要滥用,尤其是jdni本来是为了实现位置透明,不可能用到反射 >>只能反射静态方法,没有实例怎么反射实例的方法?问题是我需要由路径得到实例,然后进行反射,其实我的目的是用jndi得到类路径从而得到Class,然后再通过Class和jndi得到实例。因为在服务器的部署文件中每个jndi名都对应一个类路径。我只是想知道怎样通过jndi名取得这些路径?>>还有jndi得到的很可能是远程对象,远程对象能不能用反射?我是在服务器端使用的,就是说不会涉及远程对象。是不是jndi不能得到路径? 为什么不通过servlet来进行反射呢?可以将需要调用的类以及方法写在页面的hidden元素里面,然后submit,通过servlet的dopost或者doget得到类名和方法名,然后通过诸如以下代码myclass = Class.forName(className);Method mymethod = myclass.getMethod(method);Object args[] = {req, res, reh};mymethod.invoke(null, args);来调用 To Jacky1206(胖胖):现在的问题是我想缩减输入的参数量,因为我现在实际上是每次都要同时输入类名(包括包路径)和jndi,才能建立反射。如你上面所说的方式,没有了jndi也不能进行反射阿。 反射难道一定需要jndi么?我给出的方法确实是不需要jndi的,我不是很清楚楼主非要把jndi放入反射参数的原因,就我使用而言,jndi似乎只是用来获取数据库连接而已呵呵,当然可能楼主有别的用途,即使如此,那么jndi同样可以写一个hidden放在页面上,在submit时到servlet里面获取 TO: Jacky1206(胖胖) 但是我要调用的是SessionBean和EntityBean不用jndi可以吗? 做一个代理类帮你完成这个步骤吧, 你大概不想在业务代码中嵌入jndi的路径吧 可以将你需要的内容补充在部署文件里面,然后在serlvet的init方法里面执行读取操作,init方法只在第一次执行servlet时被执行,读取的内容可以放在application或者干脆插入到一张表中,需要的时候去取,不知道这样楼主觉得是否可行呵呵 Jacob组件的java程序在运行时出错。。。求救 泛型反射到DTO的问题,请教大家。 log4j.xml加载问题 怎么在jsp页面里不让字体岁页面大小改变 文件找不到问题 请问一下,如何将ArrayList数据用<logic:iterate> 标签写到JSP页面上 lo4j问题 百分求助Jboss4.0J2EE应用程序的发布问题 紧急求助: 字符转化成日期!!!! 100分 关于java存值的问题,用不了session或者token。? 怎么把struts例子导入jb 请教关于EJB调用的问题
只要它的path就行了,如org.eb.XXXBean,然后就可以进行反射了。
我说的“想通过反射的方法去调用他们的同一固定方法“只是举例子吧了,其实我想做的复杂的多,已经实现通过预先输入path完成功能,但是这样就对软件包的使用带来了不方便之处。
望有解决办法的同志们多多提示!谢谢了
只能反射静态方法,没有实例怎么反射实例的方法?还有jndi得到的很可能是远程对象,远程对象能不能用反射?总之反射不要滥用,尤其是jdni本来是为了实现位置透明,不可能用到反射
问题是我需要由路径得到实例,然后进行反射,其实我的目的是用jndi得到类路径从而得到Class,然后再通过Class和jndi得到实例。因为在服务器的部署文件中每个jndi名都对应一个类路径。我只是想知道怎样通过jndi名取得这些路径?>>还有jndi得到的很可能是远程对象,远程对象能不能用反射?
我是在服务器端使用的,就是说不会涉及远程对象。是不是jndi不能得到路径?
myclass = Class.forName(className);
Method mymethod = myclass.getMethod(method);
Object args[] = {req, res, reh};
mymethod.invoke(null, args);
来调用