引用
因为在做垂直搜索工作中,使用的是java编写的一个搜索类库。做垂直搜索,很多实用要使用到配置。当搜索的信息量大时,网站的更新。搜索程序的配置维护是一个不可忽视的问题。所以用了php做网页,提供配置界面,这样就可以不用直接修改配置文件或是配置数据库表。当把配置信息配置好了,我们需要检测配置是否正确,因为使用的是java程序,所以检测配置的正确与否使用的也是java程序来检测。这里就存在一个问题,就是需要把php页面上的信息传入到java程序中去检测。这个时候就需要php和java通信了。下面我就来介绍下怎么使php跟java通信(当然,你也可以使用类似webservice等技术)也就是php中调用java程序。
php要调用java程序:需要以下准备,php程序,java程序,还有就是shell程序或是bat程序。下面分别介绍下在linux服务器下php调用java程序和在windows服务器下调用java程序。前提是php,apache,jdk的环境都已经配置好。
一 在linux下php调用java程序是通过shell文件。分别是以下三个文件: test_shell.php test_shell.java test_shell.sh 他们的源代码如下:
1.test_shell.java程序代码
public class test_shell {
public static void main(String[] args) {
System.out.println("你输入的参数是:"+args[0]+"\t"+args[1]);
}
}
2.test_shell.php程序代码
<?php
/*
* 该函数是用来执行shell命令的,其实还可以使用:exec(),system(), * popen()和pclose(),passthru() 函数。最长用的是前面两个和例中使 * 用的shell_exec()。
*/
$args1="我喜欢你";
$args2="我很爱你";
// 注意空格
$r=shell_exec("./test_shell.sh $args1 $args2");
echo $r;
?>
3.test_shell.sh程序代码是
#!/bin/sh
JAVA_HOME=/usr/local/jdk
CLASSPATH=.:/usr/local/jdk/jre/lib/rt.jar:/usr/local/apache/htdocs/test_shell/test_shell.class
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME CLASSPATH PATH
cd /usr/local/apache/htdocs/test_shell
java test_shell
#shell代码结束
以下是三个程序的存放路径和运行次序。
1.三个文件都必须在同一目录下,比如在/usr/local/apache/htdocs/test_shell/下,不然php很难调到java程序。
2.把test_shell.java程序编译成test_shell.class,然后把test_shell.class文件存放到CLASSPATH中。如果系统配置了那些环境变量,这里在配置一次是没有坏处的,也不会影响配置好的系统环境变量。这里设置的好处是当没有配置jdk环境配置,只有jre时,则需把jre放到/usr/local/jdk下就以。
二、下面先介绍在windows服务器下,php调用java程序是通过bat文件来的。分别是以下三个文件: test_bat.php test_bat.java test_bat.sh 他们的源代码如下:
1.java程序
public class test_bat {
public static void main(String[] args) {
System.out.println("你输入的参数是:"+args[0]+"\t"+args[1]);
}
}
2.test_bat.php程序代码
<?php
/*
* 该函数是用来执行shell命令的,其实还可以使用:exec(),system(), * popen()和pclose(),passthru() 函数。最长用的是前面两个和例中使 * 用的shell_exec()。
*/
$args1="我喜欢你";
$args2="我很爱你";
// 注意空格
$r=shell_exec("./test_shell.sh $args1 $args2");
echo $r;
?>
3.test_bat.sh程序代码是
@echo off
set path=%path%;%cd%\jre\bin
set CLASSPATH=.;%cd%\jre\lib\rt.jar;%cd%\test_bat.class
java test_bat %1 %2
#bat代码结束
1.三个文件都必须放在同一目录下,比如在/usr/local/apache/htdocs/test_bat/下,不然php很难调到java程序。
2.把test_bat.java程序编译成test_bat.class,然后把test_bat.class文件存放到CLASSPATH中。如果系统配置了那些环境变量,这里在配置是没有坏处的,也不会影响配置好的系统环境变量。这里设置的好处是当没有配置jdk环境配置,只有jre时,则需把jre放到跟跟test_bat.java同一目录下就行了。
三、上面两个例子中,test_shell.sh用的绝对路径,test_bat.bat是用的相对路径。不管是绝对还是相对,只要路径对了就行了。
分享到:
相关推荐
在IT行业中,尤其是在后端开发领域,Java和PHP两种语言的协同开发经常遇到。这篇讨论主要聚焦于三种有效的协同开发方案:SOAP、php-java-bridge和Quercus,旨在帮助技术经理做出明智的决策。 首先,SOAP(Simple ...
综上所述,PHP/Java Bridge通过JavaBridge.jar、php-servlet.jar和php-script.jar提供了一种强大的集成方案,让PHP和Java可以协同工作,共同构建复杂的、跨语言的应用系统。了解并熟练掌握这些组件的使用,对于提升...
通过上述三种技术——SOAP、Quercus和PHP/JavaBridge,开发人员能够灵活地在PHP和Java之间搭建桥梁,实现跨语言的协同工作。每种技术都有其独特的优势和适用场景,选择合适的方案可以极大提升Web应用的开发效率和...
在IT行业中,构建一个跨...综上所述,配置PHP+Java的开发部署环境涉及多个环节,需要对两种语言的环境、配置以及协同开发工具有深入理解。在实际操作过程中,应根据项目具体需求调整步骤,确保环境稳定、高效且安全。
通过JavaBridge和Servlet,Java和PHP两种不同的编程语言能够在一个服务器环境下协同工作,为开发者提供了更多的灵活性和选择。 总结起来,"Tomcat-PHP"的集成涉及到Java Servlet技术、JavaBridge以及相关jar文件的...
在Web开发领域,PHP和Java是两种广泛使用的编程语言。PHP以其简单易学和高效执行的特点,常...解压后的"phpjava"文件是一个宝贵的资源,可以帮助我们深入了解和实践这些技术,进一步提升PHP和Java之间的协同开发能力。
Node.js开发者通常使用JavaScript进行服务器端编程,但是Java的生态系统丰富,很多大型项目可能结合了Java技术,因此熟悉JDK更新对于协同开发或迁移部分功能至Java平台有所帮助。JDK16的开关表达式(Switch ...
该项目是一款基于jfinal、easyUI和activiti框架构建的企业级协同平台设计源码。该平台集成了1705个PNG图片、921个...该平台支持Java、JavaScript、CSS、HTML和PHP等多种编程语言,旨在提供高效的企业协同工作解决方案。
6. **跨语言通信**:Thrift使得Java和PHP等不同语言的系统可以无缝协同工作。 7. **分布式系统**:Thrift适用于构建分布式服务,支持多语言环境。 通过学习和实践这个Thrift Demo,开发者可以深入理解Thrift的工作...
这样的实践项目有助于提升你的编程技巧,使你能更好地理解PHP和MySQL在实际应用中的协同工作方式。 在【PHP网站开发及案例教程.ppt】中,你将看到详细的步骤分解,每个阶段都配有清晰的图表和示例代码,帮助你逐步...
【PHP自适应OA协同办公系统源码】是一个基于PHP编程语言和MySQL...开发者可以基于源码进行二次开发,以适应特定企业的业务需求,同时,对于想要学习PHP和协同办公系统开发的人来说,这也是一个宝贵的实践和学习资源。
标题中的“CAS实现单点登录,登出(Java和PHP客户端)”指的是使用中央认证服务(Central Authentication Service,简称CAS)来构建一个跨域、跨平台的单点登录(Single Sign-On, SSO)系统。在这样的系统中,用户只...
【描述】中提到的“海关联调服务”是指海关业务系统与外部系统(如企业内部系统)之间的协同工作,确保数据的准确传输和及时处理。这种联调服务通常涉及到货物报关、税费缴纳、物流跟踪等多个环节。其中,“js 轮询...
【综合资源】这部分可能包括了使用Java、PHP和JavaScript开发的示例项目,或者是这三个语言的交互操作,帮助学习者理解如何在实际项目中协同使用这些技术。可能涵盖数据库连接、HTTP请求、模板引擎、路由、中间件等...
在Tomcat环境中,这个桥接器是实现PHP与Java协同工作的重要组件。 要配置Tomcat支持PHP项目,你需要进行以下步骤: 1. **下载和解压**:首先,你需要下载这些jar文件,并将它们从zip包中解压出来。确保将它们放置...
Java和PHP是两种广泛应用于Web开发的编程语言,尤其在构建电子商务平台时,它们都有各自的优势。Java以其强大的企业级功能和跨平台特性而闻名,而PHP则以其易学易用和丰富的开源库著称。 【Java商城源代码】 Java...
本项目是一款基于Java核心技术的政务协同平台设计源码,集成了2956个文件,涵盖1264个JavaScript文件、328个Java源文件、325个...平台采用多语言开发,包括JavaScript、Java、HTML、CSS、PHP,旨在提高政务协同效率。
10. **调试与日志记录**:为了便于开发和维护,Java主题可能包含了详细的日志记录和调试工具,帮助开发者定位和修复问题。 由于没有具体的文件名称列表,我们无法深入了解每个文件的具体功能。不过,通常一个...
- **Git**:版本控制工具,协同开发的重要保障。 以上就是"java全部知识点总结文档"可能涵盖的主要内容。无论是初学者还是经验丰富的开发者,都能从中找到提升自己技能的宝贵资料。通过深入学习和实践,你将能够...