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-20131030\Anaconda2

    我的工程文件是content_recommender_core

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

    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("\t");

    其中讀取python執行文件的代碼路徑只能是本地上存放的文件位置,也就是說不能是tomcat上面的文件

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

    到這里,所有的工程做完,可以正確運行得到最后的結果了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM