1.java Web 调用Matlab程序
问题背景:
最近在做一个生物信息学的GPCR(g蛋白偶联受体)预测网站,在构建数学模型及求解过程中使用的编程工具是Matlab,之所以用Matalb主要是考虑到其强大的矩阵计算能力和简单易学的编程语言。但是,在网站建设中我使用的开发语言是JSP,使用Tomcat做WEB服务器。为了直接使用前期在Matlab上建模所用的程序,以免把这些程序翻译成Java程序而带来的麻烦,决定在Tomcat中直接调用Matlab程序。
解决方案:
1. 首先,要用matlab中的工具matlab build for
java,把你的matlab文件(包括.m文件,.mat文件等等)打包成一个jar文件并同时得到一个ctf文件(为下文叙述方便,假设为myproj.jar和myproj.ctf)。这个具体过程可以参见matlab的帮助文档,在那有具体的例子,照着样子做一遍就会了,本文就不详述了。
2.
把myproj.jar和myproj.ctf置于一目录下,如:D:\dist\myproj.jar和D:\dist\myproj.ctf。具体的配置过程同样见matlab帮助文档。但在matlab帮助文档中是配置一个java
application程序,如果照此配置web程序就会出现找不到类或找不到ctf文件的错误。相信大家只要是找matlab帮助文档实际操练一下都能正确地在java
application程序中调用matlab生成的jar和ctf文件,可是要想在web程序调用jar和ctf文件则会遇到问题。因为,如果把myproj.jar和myproj.ctf放到tomcat的lib文件夹或webapp的lib文件夹下,由于tomcat是以相对路径来寻找这些目录下的jar文件的,可根据matlab帮助文档提示的ctf文件不能放到相对路径下,要置于绝对路径下。这就是程序会产生问题的根源。
3.找到问题的结症所在,解决的办法也就有了。经我的实验,有以下2种方法可以使用。
A. 把jar文件的路径设置到CLASSPATH中。如set
classpath=%classpath%;D:\dist\myproj.jar
B. 修改%TOMCAT_HOME%\bin目录中的setclasspath.bat文件,找到“set
CLASSPATH=%JAVA_HOME%\lib\tools.jar”,修改为:set
CLASSPATH=%JAVA_HOME%\lib\tools.jar;D:\dist\myproj.jar
以上2种方法总有一种是可行的,一般B成功的可能性大些。我曾经使用A方法在2台电脑上实验,结果有一台电脑找到ctf文件,而另一台电脑上则可以正确运行,后来使用B方法问题方得到解决。
2.java应用程序调用
(详见附件)
分享到:
相关推荐
总结起来,"matlab开发-黑色词汇值Web应用程序javatomcat"项目是一个结合了Matlab、Java和Web开发的实例,它展示了如何将复杂的金融模型与Web服务相结合,为用户提供在线的期权定价服务。通过学习这个项目,开发者...
Java调用MATLAB主要涉及到Java和MATLAB的交互,这一技术允许Java应用程序利用MATLAB强大的数值计算和数据处理能力,而无需直接运行MATLAB环境。以下是对这一知识点的详细解释: 1. **Java-MATLAB接口**:Java可以...
这个过程叫做MATLAB编译器(MATLAB Compiler)的使用,它允许我们将MATLAB代码转换为Java类库,进而集成到Java应用程序中,比如JSP(Java Server Pages)应用。 标题"matlab 打包成jar 后端代码代用"所涉及的核心...
要理解并实现这个例子,你需要了解MATLAB编程基础,Web开发的基本概念,以及如何配置Apache和Tomcat服务器来运行MATLAB编译的Java应用程序。此外,还需要掌握MATLAB的Web服务工具箱或MATLAB Compiler的使用方法,...
在本项目"matlab开发-WebServerDemo"中,我们将探讨如何使用Matlab来开发Web应用程序,并将其部署到Web服务器上。Matlab不仅是一个强大的数值计算工具,还提供了丰富的功能来构建交互式的Web应用,使得科研人员和...
4. **配置Web服务器**:将编译后的Java应用程序部署到Web服务器(如Apache或IIS),并设置相应的访问权限和路由。 5. **测试与使用**:在客户端通过浏览器访问Web服务器的URL,触发Matlab的计算过程。 【实例分析】...
JDK是Java编程的基础,它是Oracle公司提供的一个包含了开发和运行Java应用程序所需的所有工具的软件包。在JDK的安装与配置过程中,我们通常会访问官方网站下载最新版本的JDK,并按照指示进行安装。安装完成后,JDK会...
在Java开发中,调用Web服务是常见的任务,特别是在分布式系统和企业级应用之间需要进行数据交换时。Web服务允许应用程序通过标准化的协议,如HTTP、SOAP和XML,跨越网络进行通信。本篇文章将深入探讨如何使用Java...
1. **Spring框架**:Spring是Java企业级应用的核心框架,它提供了一个全面的编程和配置模型,用于构建现代的Java应用程序。在这个项目中,Spring主要负责控制反转(IoC)和面向切面编程(AOP),以及服务层的管理,...
MATLAB的Java接口使得MATLAB可以调用Java类库,这对于访问硬件设备、数据库或者使用已有的Java应用程序尤其有用。 由于压缩包里只有一个名为"ch15v4"的文件,这可能是一个包含了整个MATLAB程序的文件,或者是多个...
- **简化开发流程**:对于需要频繁与Tuxedo交互的Java应用程序来说,JOLT提供了更加便捷的接口,减少了开发工作量。 ### 三、Common Object Request Broker Architecture (CORBA) #### 3.1 概述 - **CORBA**:...
综上所述,基于JAVA WEB的医药管理系统是一个综合运用了前端开发、数据库设计和服务器端编程技术的实例,旨在提高医药行业的信息化水平,为用户提供便捷的服务,同时简化后台管理的工作流程。通过这份论文,读者不仅...
Servlet是运行在服务器端的Web容器中的Java应用程序,响应客户端的请求,并将处理结果以HTML网页的形式返回给客户。Servlet可扩展服务器的功能,如访问数据库。Servlet的优点是:只有在第一次被请求执行时才需要加载...
4. **易用性**:MATLAB集成了许多功能,使用相对统一,Python则需要用户自行安装和配置所需库。 **如何选择Python和MATLAB** 选择Python还是MATLAB主要取决于具体需求。对于数值计算和数据分析,MATLAB可能更优,...
《SpringMovieApp:基于Spring Framework的Web应用实践》 在玻利瓦尔技术大学的一堂...通过实践这个项目,学员不仅可以提升Java编程技能,还能深入理解Web应用程序的设计和开发流程,为未来的职业生涯奠定坚实基础。
理解JVM的工作原理,如垃圾回收机制、类加载机制和性能优化,对于提升Java应用的性能至关重要。 Java基础涵盖了语法、面向对象特性、异常处理、集合框架等内容。学习Java基础是成为一名合格Java开发者的第一步,...
在使用Matlab引擎之前,你需要在你的开发环境中安装Matlab并配置相应的环境变量。Matlab提供了各种API,包括C,C++,Python等,以便于在这些语言中调用Matlab引擎。例如,如果你使用Python,你可以通过`mlabwrap`...
【标签】"Java"表明可能在项目中使用了Java语言,这可能意味着存在一个Java接口或者应用程序,用于与MATLAB环境交互,或者是利用MATLAB Compiler将MATLAB代码转换为可独立运行的Java应用程序。Java是一种广泛使用的...
Spring是Java企业级应用的核心框架,它提供了依赖注入(Dependency Injection, DI)和面向切面编程(Aspect-Oriented Programming, AOP)等功能,简化了Java应用的开发。在SSM项目中,Spring主要负责管理对象的生命...