问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

js 怎么调用JAVA类的方法?具体代码?

发布网友 发布时间:2022-05-01 01:13

我来回答

5个回答

热心网友 时间:2022-04-25 07:13

用ajax的方法.

首先将要调用的类名和方法名作为参数传给某个servlet.这一步的方法有许多种,用框架,或者直接用xmlHttpRequest对象.

另外,要调用的类名和类的完整包路径最好写在配置文件里
这里假设类名为Hello,方法名为sayHello,并且sayHello方法不带参数,类路径为com.demo.Hello

配置文件AjaxConfig.properties
Hello = com.demo.Hello

于是传入的参数为 class=Hello&method=sayHello
在servlet中作如下处理:
String className=request.getParameter("classname");
String methodName=request.getParameter("method");
String classPath=null;
.
读取配置文件,取出className所对应的值放入classPath变量中(这一步方法有很多种,怎么读配置文件,可以网上找资料,很多的,我就不细写了)
.
Class c=Class.forName(classPath);//加载你所指定的类
Class param[]=new Class[0];//方法的参数为0个
Method m=null;
String returnValue=null;//返回值
try {
m = c.getMethod("sayHello",param);//获取你所指定的类中的指定方法
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoSuchMethodException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

try {
returnValue=(String)m.invoke(c.newInstance(), new Object[0]);//调用你所指定的方法
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
最后,将returnValue的值返回给客户端即可
类Hello.java

public class Hello
{
public String sayHello()
{
return "hello";
}
}

不明白的加67919823,我们一起讨论呀

热心网友 时间:2022-04-25 08:31

直接是无法调用的,可以通过像dwr这种类似的框架来实现,当然,原理是java的反射机制

热心网友 时间:2022-04-25 10:06

调用不成的,要将java处理的方法传参 传到页面上 才能用js处理的

热心网友 时间:2022-04-25 11:57

用框架 dwr

热心网友 时间:2022-04-25 14:05

直接是调不了。。
你可以通过dwr。。是可以的。。它类似把java变成了js
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
高层民用建筑消防安全管理规定:禁止在楼道内停放电动车或为其充电 ...电梯厅,上下楼梯等位置禁止停放电动车,自行车以及堆放物品,杂物等... 电脑磁盘为什么会坏 什么配件可以引起引起硬盘损坏 年糕的四种做法 年糕怎么做好吃不腥 王者蓝星币和紫星币区别 蓝星币怎么用(蓝星币怎么用王者) 电脑老屏幕卡死 电脑卡死什么原因电脑最近老是卡死怎么回事 新手会计需要清楚什么 js 执行java代码问题 交强险可以按月购买吗 为什么飞广州的飞机大多都因为流量控制原因延迟了? 车辆交强险可以交一季度的吗 飞机因为流量管制延误到底是什么原因? Javascript:js里面写的是java语句? 请问给车买交强险二个季度可以 怎么在js调用java方法 js中如何实例化java类 求一篇银行职员(非党员)学习十七界四中全会心得 js中可以调用java代码吗 交强险季度险合法吗 各位,js文件中怎么引入java代码 请问在javascript中可不可以插入java代码 在单独的js文件中如何嵌入java代码,谢谢! 中国有名的河流的名字叫什么 开展“职工小家”建设有什么重要性? 问道水系男名字2---6个字!大方霸气点 单独的js文件,怎样才能使用Java代码? 怎么在 js 代码中使用 jsp 标签或 Java 代码 cocos js 中 怎样插入 java 代码? 交强险能否单月或一季度一买 蜗牛是什么东西 请各位介绍几个高端手机,最好拍照好的手机。(苹果、美图除外) 车辆交强险可以交一季度的吗? 蜗牛是什么? 蜗牛是不是昆虫 蜗牛是两栖动物吗? 解梦,刚梦醒,梦见公公婆婆出车祸… 怎么搜索出电脑中流氓软件?怎么删除那些顽固的流氓软件比如瑞星? vivo屏幕解锁图案变大怎么改回来 钛马星行车记录仪东西全部都丢了怎么办? 钛马星行车记录仪打开后看不到已经录制的视频- 问一问 建材下料套料计算软件? 建筑材料优化计算软件 亲,糙米黑米大米蒸饭的比例 福利20-5包微信福利犯法不 为什么有个人加我说,哥哥这个不常用,加下我大号有福利哦,她说的是啥意思,能不能加? 手机有信号没网络怎么回事? 苹果手机突然就没有信号是怎么回事