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

时间:2024-04-09 13:10:15
例子简介
网上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.mplotcos.m文件

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

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

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

生成的文件夹

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1.5 Run As程序Java Application

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

结果如下图所示

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

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

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

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

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

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

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

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

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

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

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


2.3新建一个Dynamic Web Project

Eclipse+Tomacat7.0.59+JDK1.6.0_45

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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体内添加代码:如图所示

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

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

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

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

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

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

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