java怎样调用js 50

我想用java调用一个名为1.js脚本中的一个函数函数调用为EncodePwd(uin,psw)返回一个String变量。我应该如何调用这个js?... 我想用java调用一个名为1.js脚本中的一个函数函数调用为EncodePwd(uin,psw)返回一个String变量。我应该如何调用这个js? 展开
 我来答
百度网友b9a28f1
2012-10-06
知道答主
回答量:17
采纳率:0%
帮助的人:12.7万
展开全部
首先java和js是完全两码事
两个的运行是不相干的
java是后台程序 运行在服务器上 而js则是生存在客户端浏览器(如ie)
只能是js间接调用java
过程是:js在客户端浏览器上运行,然后js让浏览器发送请求到服务器,然后服务器上的中间件(如tomcat)来把浏览器的请求(httpRequest)转交给java程序来处理。 典型的例子就是用js执行submit()提交表单到服务器和js生成ajax对象然后通过ajax对象把信息发送给服务器。 即js借助浏览器来达到间接调用后台java程序的功能。
反过来就不行了
由于http协议是无状态的,不像java与数据库那样有保持着的连接,数据库是知道当前有谁再连接着自己的,而java程序所在的服务器是无法直接沟通客户端浏览器的,他压根就不知道客户端在哪,也因此无法去和运行在客户端的js联系。
你如果想调用这个EncodePwd(uin,psw), 只能是在客户端浏览器上触发这个方法(例如提交按钮)然后把信息发送到服务器端。
其实还有一种技术,即“服务器推送”,这个大概可以实现你的想法,这是个新兴技术,用于由服务器直接把数据发送给客户端,而不需要客户端不停的用ajax来访问服务器。但是我想这个应该不是你想要的东西。

参考资料: 自己

wh猎人
2015-05-18 · TA获得超过1125个赞
知道大有可为答主
回答量:1157
采纳率:89%
帮助的人:664万
展开全部
   // java调用js脚本的例子 
   ScriptEngineManager scriptEngineMgr = new ScriptEngineManager();
   ScriptEngine jsEngine = scriptEngineMgr.getEngineByName("JavaScript");
   StringBuffer sb = new StringBuffer();
   // 组装js代码,也可以从文件读入脚本到sb变量 
   jsEngine.put("myContext", myContext);// 放置其他参数
   jsEngine.eval(sb.toString());// 解析、执行脚本
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yujingtaojing
2012-10-05 · TA获得超过467个赞
知道小有建树答主
回答量:1108
采纳率:0%
帮助的人:492万
展开全部
难度太大。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式