j***a调用动态语言,j***a怎么调用动态方法

kodinid 13 0

大家好,今天小编关注到一个比较意思的话题,就是关于java调用动态语言问题,于是小编就整理了3个相关介绍Java调用动态语言的解答,让我们一起看看吧。

  1. 网页调用java程序?
  2. java远程调用,具体实现?
  3. java程序如何调用python?具体过程是怎么样的?

网页调用j***a程序

静态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服务都会有,知道用户密码就可以使用这种方式了。

java调用动态语言,java怎么调用动态方法-第1张图片-安济编程网
图片来源网络,侵删)

2、要在远程linux服务器上执行命令,可以在linux服务器上启动一个服务做执行脚本的代理,不断接受来自你这个项目发来的脚本信息然后执行,再把结果返回给你项目中去。

第一种:以消息队列的方式发送这些脚本信息,linux代理不断接受,并返回结果。项目同时要不断接受结果。

第二种:项目中产生的脚本,直接记录到数据库,linux上的代理访问这个数据库,获取脚本信息,并将执行结果写入数据库。项目中轮询执行结果。上面我说的消息队列可以***用activemq,或者rabbitmq这些。命令执行,j***a中直接Runtime.getRuntime().exec(command);就行了。

java调用动态语言,java怎么调用动态方法-第2张图片-安济编程网
(图片来源网络,侵删)

j***a程序如何调用python?具体过程怎么样的?

这里介绍一种简单的方法—Jython,Jython是Python语言在J***a平台上的实现,可以将python代码编译成JVM码,由JVM虚拟机执行对应的字节码,下面我简单介绍一下实现过程,实验环境win10+jdk1.8+eclipse,主要内容如下:

1.安装Jython,这个直接在***上下载就行,一个jar包,这里我们选择第2个Standalone Jar,如下:

2.下载完成后,我们在eclipse中新建一个j***a项目,并且引入上面这个Jar包(不会引入Jar包的,自行百度一下),如下:

java调用动态语言,java怎么调用动态方法-第3张图片-安济编程网
(图片来源网络,侵删)

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 程序

上一个java 语言 模糊查询,java模糊查询语句

下一个4轴雕编程教程,四轴雕刻教程