解决了java+matlab混编+web(jsp)调用Matlab,网页中显示Figure,详细实例

例子简介

网上java+matlab混编的挺多,大多数实例也都能实现出来,但是将matlab生成出来Figure显示在jsp页面中并配合WebFigure实现的例子却很少,所以我将自己的尝试结果详细的写出来。

一从Java和Matlab混合编程

1.1环境配置

我采用的是Java、jdk1.6.0_45、Eclipse、Matlab2013a,都是64位:

为什么我要强调环境配置都一样呢,首先,我之前Matlab用的是2013a32位的,会报错,Java和Matlab混编要求环境是统一的,同时我之前jdk用的是1.7.0_75,画不出图来,因为matlab必须联合1.6的jdk才能画出图来。

1.2编写plotsin.m和plotcos.m文件

1.3编译写好的两个函数制作一个java包(.jar)(complie the pltosin function as a java Package)如下图所示,使用deploytool命令,然后build

生成的文件夹

1.4 新建一个 Java Project工程,工程名JavaUseMatlab

右键点击工程名,添加(.jar)包

在Java build Path的Libraries下,点击Add External JARS添加javabuilder.jar和建立的matlabplot.jar,如下图所示

javabuilder.jar和matlabplot.jar的位置如下图

1.4 新建个.java文件,右键工程名JavaUseMatlab,如下图所示

并在,MathPlotTest.java文件编写程序

1.5 Run As程序Java Application

结果如下图所示

这个过程就完成,这个例子网上有很多人做,我主要是在后面将生成的Figure,用JSP发布在网页上。

二 Java和Matlab混编 将生成figure发布网页上,直接使用JSP中的网页标签

以绘画的正弦曲线为例,进行说明

2.1 绘制正弦曲线函数plotsin.m

2.2 编译写好的plotsin函数制作一个java包(.jar)(complie the pltosin function as ajava Package)如下图所示,使用deploytool命令,然后build

生成的目录文件如下图所示

2.3新建一个Dynamic Web Project

Eclipse+Tomacat7.0.59+JDK1.6.0_45

右键点击建立的myweb工程,建立一个jsp文件

2.4右键myweb工程,点击Build Path下面的 Configure Build  Path

在libraries下面,Add External JARs,将由matlab 生成的plotWeb.jar添加进来;plotWeb.jar在plotWeb的disturb文件夹下,以及matlab安装文件下的javaBuilder.jar文件,文件路径:D:\Program Files\MATLAB\R2013a\toolbox\javabuilder\jar\win64

同时将plotWeb.jar和javaBuilder.jar,拷贝到myweb工程下,WEB-INF下lib文件夹下面,如下图。

同时拷贝webfigures.tld文件,文件目录

D:\ProgramFiles\MATLAB\R2013a\toolbox\javabuilder\webfigures\ 到myweb的

WEB-INF文件夹下,如下图所示。

最后的工程项目机构图如下图所示:

2.5在生成的JSP文件下头部添加相应的引用项

引用webfigures.tld文件,定义标签项

<%@ taglib prefix="wf"uri="/WEB-INF/webfigures.tld"%>

引用WebFigure库,以及自己编写的Matlab类库,另外引用

com.mathworks.toolbox.javabuilder.*,也是必须的,因为其中包含一些Errors定义以及必要的类和接口定义。

<%@ page import="com.mathworks.toolbox.javabuilder.webfigures.WebFigure"%>

<%@ page import="com.mathworks.toolbox.javabuilder.*"  %>

<%@ page import="com.mathworks.toolbox.javabuilder.internal.*"  %>

<%@ page import="plotWeb.MathPlotSin"%>

最后再body体内添加代码:如图所示

2.6修改目录下web.xml文件,加入如下代码

2.7部署myweb项目到Tomcat,启动Tomcat

在浏览器中输入如下网址:  http://127.0.0.1:8080/myweb/Test.jsp

我也是不断试验好久才搞出来的,这是我以画正弦曲线,写的一个详细例子,(Tomcat的配置我就不说了,如果想做这个,首先应该配置好环境)祝君好运!

猜你喜欢

转载自my.oschina.net/robinjiang/blog/1815595