博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java web中java和python混合使用
阅读量:4562 次
发布时间:2019-06-08

本文共 1452 字,大约阅读时间需要 4 分钟。

利用java web技术展示python算法处理后的数据

工具/原料

 
  • myeclipse10
  • pycharm+Anaconda2

方法/步骤

 
  1.  

    首先安装配置好pycharm+Anaconda2

    特别的,需要配置好python的环境变量,因为在用java调用python 的时候,需要通过线程调用

  2.  

    测试环境变量是否配置成功

    在命令窗口输入python,显示如下则说明配置成功

  3.  

    将写好的python工程代码放置在Anaconda2的Lib目录下面

    这里是Anaconda2安装的目录

    例如我安装在D:\adt-bundle-windows-x86-20131030\Anaconda2

    我的工程文件是content_recommender_core

    那么就放在D:\adt-bundle-windows-x86-20131030\Anaconda2\Lib

  4.  

    现在将写好的python文件放置到java web工程上去,这个文件的存放与java web文件的建立类似,所以可以放置在任何路径下,例如我是放在src目录下

  5.  

    放置好所有文件之后,就是到了最关键的时候,那就是需该对应的文件路径

    其中最重要的是需该python 代码中的config.py文件的路径

    因为工程部署到了tomcat之后,相对的路径就会有些变化,所以需要修改

  6.  

    例如python需要读取的文件是在我的tomcat的/webapps/PythonAndJSP/WEB-INF/classes/com/wtu/xmlpage/course.xml,那么config.py文件中的路径设置应该是../webapps/PythonAndJSP/WEB-INF/classes/com/wtu/xmlpage/course.xml

  7.  

    为了达到路径的统一化修改,建议使用相对路径,那么在run.py文件中,可以这样设置路径,之后的路径变化,就只要修改config.py文件了

    也就是需要引用的文件直接通过变量名引用

  8.  

    所有的工作做好之后,就是测试

    测试的主要代码

    String path="G:/编译练习/JSP/PythonAndJSP/src/ETS/runS.py";

    Process p;     

       String cmdStr="python "+path;

    try    

            {    

               //执行命令    

                p = Runtime.getRuntime().exec(cmdStr);    

               //取得命令结果的输出流    

                InputStream fis=p.getInputStream();    

                p.waitFor();

               //用一个读输出流类去读    

                InputStreamReader isr=new InputStreamReader(fis);    

               //用缓冲器读行    

                BufferedReader br=new BufferedReader(isr);    

                String line=null;

                listCourse=new ArrayList<Course>();

               //直到读完为止    

               while((line=br.readLine())!=null)    

                {   

                    String lines[]=line.split("\t");

    其中读取python执行文件的代码路径只能是本地上存放的文件位置,也就是说不能是tomcat上面的文件

  9. 9

    到这里,所有的工程做完,可以正确运行得到最后的结果了

转载于:https://www.cnblogs.com/jingsupo/p/java-web-python.html

你可能感兴趣的文章
20181227 新的目标
查看>>
androidtab
查看>>
php 事件驱动 消息机制 共享内存
查看>>
剑指offer 二叉树的bfs
查看>>
LeetCode Maximum Subarray
查看>>
让我们再聊聊浏览器资源加载优化
查看>>
underscore demo
查看>>
CSS hack
查看>>
每日一小练——数值自乘递归解
查看>>
qq登陆错误提示
查看>>
bzoj 1192: [HNOI2006]鬼谷子的钱袋 思维 + 二进制
查看>>
没写完,没调完,咕咕咕的代码
查看>>
Android Studio使用技巧:导出jar包
查看>>
Problem E. TeaTree - HDU - 6430 (树的启发式合并)
查看>>
Kafka序列化和反序列化与示例
查看>>
win10下VS2010中文输入法切换为英文卡死
查看>>
retinex相关代码汇总
查看>>
Cortex-M3 异常返回值EXC_RETURN
查看>>
kettle 转换字段遇到问题(couldn't get row from result set)——摘
查看>>
nginx首页根据IP跳转
查看>>