利用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

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

java web中java和python混合使用的更多相关文章

  1. Java Web 中 过滤器与拦截器的区别

    过滤器,是在java web中,你传入的request,response提前过滤掉一些信息,或者提前设置一些参数,然后再传入servlet或者struts的 action进行业务逻辑,比如过滤掉非法u ...

  2. JAVA WEB 中的编码分析

    JAVA WEB 中的编码分析 */--> pre.src {background-color: #292b2e; color: #b2b2b2;} pre.src {background-co ...

  3. Java web中常见编码乱码问题(一)

    最近在看Java web中中文编码问题,特此记录下. 本文将会介绍常见编码方式和Java web中遇到中文乱码问题的常见解决方法: 一.常见编码方式: 1.ASCII 码 众所周知,这是最简单的编码. ...

  4. Java web中常见编码乱码问题(二)

    根据上篇记录Java web中常见编码乱码问题(一), 接着记录乱码案例: 案例分析:   2.输出流写入内容或者输入流读取内容时乱码(内容中有中文) 原因分析: a. 如果是按字节写入或读取时乱码, ...

  5. 深入分析Java Web中的编码问题

    编码问题一直困扰着我,每次遇到乱码或者编码问题,网上一查,问题解决了,但是实际的原理并没有搞懂,每次遇到,都是什么头疼. 决定彻彻底底的一次性解决编码问题. 1.为什么要编码 计算机的基本单元是字节, ...

  6. 解决java web中safari浏览器下载后文件中文乱码问题

    解决java web中safari浏览器下载后文件中文乱码问题 String fileName = "测试文件.doc"; String userAgent = request.g ...

  7. Java Web 中使用ffmpeg实现视频转码、视频截图

    Java Web 中使用ffmpeg实现视频转码.视频截图 转载自:[ http://www.cnblogs.com/dennisit/archive/2013/02/16/2913287.html  ...

  8. java web中servlet、jsp、html 互相访问的路径问题

    java web中servlet.jsp.html 互相访问的路径问题 在java web种经常出现 404找不到网页的错误,究其原因,一般是访问的路径不对. java web中的路径使用按我的分法可 ...

  9. java web 中 读取windows图标并显示

    java web中读取windows对应文件名的 系统图标 ....显示 1.获取系统图标工具类 package utils;  import java.awt.Graphics;  import j ...

随机推荐

  1. PCA降维实验代码

    实验需要提取数据的空间信息,所以要对光谱进行降维,使用主成分分析算法,样例代码备份如下 # -*- coding: utf-8 -*- """ Created on Mo ...

  2. Android_自适应布局

    1.屏幕相关概念1.1分辨率是指屏幕上有横竖各有多少个像素1.2屏幕尺寸指的是手机实际的物理尺寸,比如常用的2.8英寸,3.2英寸,3.5英寸,3.7英寸android将屏幕大小分为四个级别(smal ...

  3. Mysql 用户权限管理

    1. MySQL 权限介绍 mysql中存在4个控制权限的表,分别为user表,db表,tables_priv表,columns_priv表,我当前的版本mysql 5.7.22 . mysql权限表 ...

  4. Docker 本地导入镜像/保存镜像/载入镜像/删除镜像

    1.Docker导入本地镜像 有时候我们自己在本地或者其它小伙伴电脑上拷贝了一份镜像,有了这个镜像之后,我们可以把本地的镜像导入,使用docker import 命令. 例如这里下载了一个 aliba ...

  5. Lombok(1.14.8)的简单示例

    分享自: http://blog.csdn.net/huey2672/article/details/42240985 Lombok是一种Java™实用工具,可用来帮助开发人员消除Java的冗长,尤其 ...

  6. PostgreSQL查询优化逻辑优化之其他

    上一节我们介绍了PostgreSQL的子查询优化,子查询优化把一部分可以优化的子查询上拉到主查询成为join. preprocess_expression 将表达式(目标列,where,join,ha ...

  7. k8s集群之上游dns--dnsmasq,统一管理kubernetes的dns解析

    1.概述 首先部署好kubernetes集群并采用Coredns进行解析,这样集群内部的服务都能通过内部域名进行访问.但是集群内部的coredns与物理机的dns解析不完全统一,coredns不能解析 ...

  8. yum安装时遇到的问题

    在yum 安装出现下面的提示的时候,需要安装GPG key warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID e85 ...

  9. [POI2004] SZN

    Description 给定\(N(N\leq 10000)\)个点的树,要求用最少的路径覆盖树边.路径之间可以有交点,不能有交边.问最少需要几条路径以及在第一问的基础上最长的路径最短是多少? Sol ...

  10. Java学习第一篇 — 字符串

    package StringTest; public class TestString { public static void main(String[] args){ // String str= ...