Java+PHP整合=混血新宠儿

在2009年互联网上大谈各种系统技术架构,我们看见了很多国内、国外大型网站采用了其他语言和Java(Jee)结合的方式进行工作,其中由我们熟悉的有 手机之家Digg 都是采用PHP和Java混合的方式进行协同工作。

我见过最佳的实践方式也是很多人经常体验过的那就是淘宝(Taobao),请看这个URL地址:http://www.taobao.com/go/chn/in/thermal_underwear.php?TBG=14153.14.13&ad_id=&am_id=&cm_id=14002141798b906ee3fc&pm_id=,你看见了什么?一个卖保暖内衣的网页?No,不完全是,是一个PHP的页面。

从我的小道消息知道淘宝(阿里公司)是中国最大的电子商务网站,并且核心业务是采用Java技术构建的,他们怎么用PHP?一点都不奇怪,他们不仅仅采用REST概念,还采用了Java+PHP的方式。虽然不能100%知道淘宝是怎么运用PHP和Java协作的,但是我们可以通过eBay对外的资料看出这些大型网站是如何运用Java和其他语言共同协作的,如图所示:

http://www.javabloger.com/images/article_pic/php_and_java/ebay-1.png

查看大图请点击这里

流言飞语中,我们常常听到ASP是运行起来最快的语言,遗憾的是ASP对Linux/Unix友好程度差到极点,对于Web应用开发而言,PHP和Java相比无论是部署还是开发 PHP都比Java/Jsp简单,在某些方面PHP的运行效率不比Jsp差 , 参见一位网友写的《JSP与PHP详细性能测试》。从这篇文章的测试中我们能看出2种语言各有千秋。

在听听Php和Java程序员在说什么?
Php程序员:用直观,快速,简单的方式解决问题,注重于结果。
Java程序员:注重积累和重用,注重于过程,有时过度设计。

如果能把PHP和Java结合起来将是一件很美好的事情,Java用于后台的数据库查询、存储。而PHP作为最前端的页面展示,用户体验上应该是很不错的。所以现在有一个解决方式出来了,就是 Quercus (Refer)。原理如图所示:


http://www.javabloger.com/images/article_pic/php_and_java/2.gif

图中展示了一个页面,通过该页面,用户可以执行一些操作(增/删/改/查),能看出HTTP 请求被 Apache+Tomcat 接收。web.xml 中的配置定义了解析 php 文件的 QuercusServlet 对象。这个对象是一个 Java servlet,它提供与 Quercus 库的接口。在这个样例应用程序中,在 php 文件中实例化的一个 PDO 对象通过 MySQL 连接器实例化与 MySQL 数据库的连接。PDO(PHP Data Object,PHP 数据对象)以一种统一的方式提供数据库访问,包括预处理语句等高级特性。

你有兴趣的话还可以去看看 Quercus提供的一个HelloWorld 的例子,这样你会更明白具体是怎么一回事。其实在实践中并只是上述说的这样,还可以采用php+Java+SOAP或者自定义xml传输协议的方式。

Quercus 在Java+PHP 的方案中更重要的是可以进行分布式计算,让PHP+Java的混合方案 在大型应用中可以更好体验他的伸缩性,如图所示:
http://www.javabloger.com/images/article_pic/php_and_java/3.png

查看大图请点击这里


希望将来在更多的项目中看见 PHP+Java 实现。

参考阅读资料:http://www.infoq.com/cn/news/2007/10/php-java-stack



node.js+C#的soa

php+java rest

node.js+C# rest

C# mvc+ C#+soa

C# mvc+ C#+rest

专业分工+硬性分工+语言隔离(天然分层)


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/48285.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[漫画]120430 混血男孩

混血男孩 introduce:最近,有些事情一直困扰着我…… url:http://manhua.178.com/zajiaosn/ tag:伪娘,路西法,废萌,卖肉 preview: 转载于:https://www.cnblogs.com/jffifa/archive/2012/04/30/2476849.html

好家伙!上天入地混血儿料箱机器人

导语 大家好,我是智能仓储物流技术研习社的社长,老K。 知识星球-智能仓储物流技术研习社 下个物流技术大咖就是你|原创12万字书等你领 智能仓储物流技术研习社 围绕厂内物流Intralogisitics,分享仓储物流自动化技术、设备、系统等知识&#x…

chatgpt:栅格化原理和代码

栅格化原理 把某个点根据经纬度放在整数经纬度记录的格子里,并把格子编号与点对应起来。 第一步确定每个格子的长和宽,即经度变化量和纬度变换量: 假设测试点的经纬度是(114度, 22.5度) 划定栅格划分的经纬度范围(大范围&…

最强解释!Python 包的依赖管理,有解了!

来源丨网络 之前一直比较抵触用 Python ,很大一部分原因是觉得 Python 项目的环境管理比较混乱。Node.js 有 Npm 包管理工具,通过 package.json 配置项目依赖,最多再通过 nvm 来进行环境切换;Java 有 Maven Gradle 来进行包管理和…

Python小白如何利用GPT4快速开发一个网站!

这个是一个全栈的项目,麻雀虽小,五脏俱全!全程都是利用gpt4进行辅助编程搞定的。第一版其实非常快,大概30分钟就搞定了,后续就是不断的添砖加瓦,增加功能和优化UI。 其实很多小白都在说要学Python&#xff…

大文件不好处理?用 Python 盘它!

点击上方“菜鸟学Python”,选择“星标”公众号 超级无敌干货,第一时间送达!!! 来源:https://blog.csdn.net/lemonbit/article/details/126326509 为了进行并行处理,我们将任务划分为子单元。它增…

“一言”槽点满满 “千帆”下海收费

把公开发布会改成了闭门沟通会,百度“文心千帆”大模型平台没能享受到“文心一言”的焦点待遇,低调发布了。 从性能看,主要面向B端客户的文心千帆较文心一言更重量级:不仅涵盖了文心一言的能力,还提供全套文心大模型以…

生成式AI的“子弹”还能再飞一会儿 | 热点探析

由ChatGPT引发的人工智能热潮,近期仍在继续。 在一封来自“未来生命研究所”的公开信发布,将热度稍退的人工智能又推上热潮。 公开信指出“只有当我们确信它们的影响是积极的并且它们的风险是可控的时候,才应该开发强大的人工智能系统。因此…

OpenAI现场演示官方版AutoGPT!创作画画发推一条龙,自主调用外部应用完成任务...

丰色 明敏 发自 凹非寺量子位 | 公众号 QbitAI OpenAI官方AutoGPT,要来了! 就在AutoGPT项目破10万Star之际,OpenAI也放出重磅炸弹,由联合创始人格雷格布洛克曼(Greg Brockman)亲自现场演示了ChatGPT即将上线…

这个Chrome 插件,让你的GPT无比丝滑!

ChatGPT的官网最近几天报错越来越频繁了,相信大家都发现了。 一旦你离开页面时间比较久,再度返回跟它进行对话,就会出现如下报错: 虽然这个报错信息以前也出现过,但现在的频率确实过高,对于每天需要使用 Ch…

【用tk写小游戏系列】用tk自制小游戏【有奖问答】

程序效果如图。 代码如下。 # -*coding:UTF-8*- from tkinter import Tk,Button,Label import sys def dui():duiTk()dui.title("自制对话框")lableLabel(dui,text恭喜你,答对了!)lable.pack()button3Button(dui,text好,commandbye)button3…

CocosCreator如何制作微信小游戏

CocosCreator在1.8版本开始,就支持一键发布微信小程序,下面是详细的发布步骤: 1、在微信公众平台下载微信开发者工具; 地址: https://mp.weixin.qq.com/debug/wxagame/dev/devtools/download.html?t2018115,根据需要选…

用Python制作小游戏

谁还没有玩过俄罗斯方块呢,这款单机小游戏,简单易懂,最好打发无聊时间了。 使用python除了可以爬取图片,视频,当然可以制作一些小游戏了。 其实这个很简单,就是转化数据很麻烦 ☹ 实际流程: …

基于QT的推箱子小游戏设计

基于QT的推箱子小游戏设计 目 录 1功能设计 1 1.1简介 1 1.2主要功能 1 2总体设计 2 2.1游戏流程 2 2.2设计思路 3 3具体实现 3 3.1 界面的设计 3 3.2 推箱子功能的实现 4 3.4按键函数调用 4 3.5绘图事件调用 4 4调试结果 6 4.1游戏主界面 6 4.2游戏帮助界面 7 4.3游戏选关界面…

控制台推箱子小游戏的实现

首先&#xff0c;这个推箱子&#xff0c;是在黑窗口实现的&#xff0c;界面不美观&#xff0c;有能力的写好了可以尝试图形化窗口easyx封装好 先来看看完整代码 #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <Windows.h> #…

基于C#制作一个飞机大战小游戏

此文主要基于C#制作一个飞机大战游戏,重温经典的同时亦可学习。 实现流程1、创建项目2、界面绘制3、我方飞机4、敌方飞机5、子弹及碰撞检测实现流程 1、创建项目 打开Visual Studio,右侧选择创建新项目。搜索框输入winform,选择windows窗体应用,填写对应的保存路径点击下一…

CCL2023-Eval | 汉语高考机器阅读理解对抗鲁棒评测正式开启,诚邀您积极参与

简介 机器阅读理解领域近年来取得了显著的发展成果&#xff0c;然而&#xff0c;在面向开放、动态、真实环境下的推理与决策时&#xff0c;模型鲁棒性仍有待提高。为此&#xff0c;山西大学自然语言处理团队基于“CCL2022-高考语文阅读理解可解释评测”数据集 GCRC 构建了对抗鲁…

Java对接钉钉机器人推送消息

自定义钉钉机器人推送使用 钉钉官方文档 使用场景 可用于替换短信发送节约成本&#xff0c;也可以将报警等消息推送到指定的钉钉群中 调用频率限制 由于消息发送太频繁会严重影响群成员的使用体验&#xff0c;因此钉钉开放平台对自定义机器人发送消息的频率作出以下限制&…

DingTalk「开发者说」 钉钉连接平台:打通企业数据孤岛的开发实践

钉钉连接平台简介 钉钉连接平台是什么&#xff1f; 简单来说&#xff0c;钉钉连接平台是打破企业系统数据孤岛的开发平台。钉钉连接平台通过统一的标准协议&#xff0c;接入各类应用和系统&#xff0c;并提供强安全、高可用、轻量化的连接能力&#xff0c;同时输出覆盖各类业…

JAVA对接钉钉

正文 公司要求对接钉钉&#xff0c;之前没对接过&#xff0c;相当于从0开始&#xff0c;记录一下对接的过程 1、访问钉钉官网 申请成为开发者 因为公司没对接过&#xff0c;所以我自己注册了一个公司&#xff08;公司名随便填&#xff0c;其他的按要求填就好&#xff09; …