• java web中java和python混合使用


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

    工具/原料

     
    • myeclipse10
    • pycharm+Anaconda2

    方法/步骤

     
    1.  

      首先安装配置好pycharm+Anaconda2

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

    2.  

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

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

      javaweb中java和python混合使用
    3.  

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

      这里是Anaconda2安装的目录

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

      我的工程文件是content_recommender_core

      那么就放在D:adt-bundle-windows-x86-20131030Anaconda2Lib

      javaweb中java和python混合使用
    4.  

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

      javaweb中java和python混合使用
    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

      javaweb中java和python混合使用
    7.  

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

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

      javaweb中java和python混合使用
    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(" ");

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

      javaweb中java和python混合使用
    9. 9

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

  • 相关阅读:
    ABPvNext修改密码强度
    大话领域驱动设计——表示层及其他
    Oracle一些知识说明(2)
    Linux 静态IP配置
    centos7设置静态IP地址
    若依前后端分离部署到tomcat中详细教程(转)
    架构11条原则
    Windows下根据端口kill进程.
    用excel实现随机刷题工具
    springboot整合nacos
  • 原文地址:https://www.cnblogs.com/jingsupo/p/java-web-python.html
Copyright © 2020-2023  润新知