j***a调用动态语言,j***a怎么调用动态方法
kodinid
13
大家好,今天小编关注到一个比较有意思的话题,就是关于java调用动态语言的问题,于是小编就整理了3个相关介绍Java调用动态语言的解答,让我们一起看看吧。
- 网页调用java程序?
- java远程调用,具体实现?
- java程序如何调用python?具体过程是怎么样的?
静态的html标签是无法直接调用j***a程序的有几种方法可以实现1、将按钮放到form表单中,当按钮点击时提交表单(或者直接将input的type属性定义成submit),表单可以指向JSP或Servlet,在JSP或Servlet里调用j***a程序2、在按钮的onclick时间中添加js代码self.location="url";其中url指向JSP或Servlet3、使用第三方的javascript包,dwr是一个不错的选择:需要准备dwr的jar包,并将之放到lib目录下;修改web.xml文件,添加DWRServlet的映射;配置dwr,即在WEB-INF目录下,添加dwr.xml文件,让dwr知道在运行的时候应该给哪些J***aBean生成相应的j***ascript库!将需要的脚本库引入到html页面中就可以通过dwr的API访问j***a类了不是很难,网上参考资料挺多的4、使用MVC框架的话就更简单了,以struts为例,可以仿照1或2,将url替换成配置文件中配置的地址就能访问j***a程序了
j***a远程调用,具体实现?
1、使用j***a代码通过ssh登陆linux并执行命令,正常情况下sshd服务都会有,知道用户密码就可以使用这种方式了。

2、要在远程linux服务器上执行命令,可以在linux服务器上启动一个服务做执行脚本的代理,不断接受来自你这个项目发来的脚本信息,然后执行,再把结果返回给你项目中去。
第一种:以消息队列的方式发送这些脚本信息,linux代理不断接受,并返回结果。项目同时要不断接受结果。
第二种:项目中产生的脚本,直接记录到数据库,linux上的代理访问这个数据库,获取脚本信息,并将执行结果写入数据库。项目中轮询执行结果。上面我说的消息队列可以***用activemq,或者rabbitmq这些。命令执行,j***a中直接Runtime.getRuntime().exec(command);就行了。
这里介绍一种简单的方法—Jython,Jython是Python语言在J***a平台上的实现,可以将python代码编译成JVM码,由JVM虚拟机执行对应的字节码,下面我简单介绍一下实现过程,实验环境win10+jdk1.8+eclipse,主要内容如下:
1.安装Jython,这个直接在***上下载就行,一个jar包,这里我们选择第2个Standalone Jar,如下:
2.下载完成后,我们在eclipse中新建一个j***a项目,并且引入上面这个Jar包(不会引入Jar包的,自行百度一下),如下:
3.最后,就是在j***a程序中调用python程序了,这里需要注意的是,程序在运行前,需要修改一下运行配置,添加“-Dpython.console.encoding=UTF-8”,不然会抛出异常,如下:
主要测试代码及截图如下:
直接在J***a中执行python语句,相当于在J***a中嵌套了python程序,如下:
M***en引入:
<dependency>
<groupId>org.python</groupId>
<artifactId>jython-standalone</artifactId>
<version>2.7.0</version>
</dependency>
Pythoninterpreter interpreter = new PythonInterpreter();
interpreter.execfile(".../脚本.py");
到此,以上就是小编对于j***a调用动态语言的问题就介绍到这了,希望介绍关于j***a调用动态语言的3点解答对大家有用。
标签: 调用
j***a
程序
版权声明:本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。