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

来源:互联网 发布:澳门网络博客有限公司 编辑:程序博客网 时间:2024/05/21 10:39
例子简介
网上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文件


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



原创粉丝点击