2

我可以使用Struts作为后端而 PHP 作为 Web 应用程序的前端吗?如果是,可能会产生什么影响。

4

4 回答 4

3

正如 Jordi 提到的,首先想到的是Quercus(来自 Resin servlet 引擎的制造商)。它是 PHP 运行时的 Java 实现,据称允许您直接从 PHP 访问 Java 对象(我的一部分说“是的,终于”)。

另一方面,虽然我一直渴望以这种方式尝试一个项目,但我可能会保持 Java EE 和 PHP 之间的分离,除非有真正的理由在代码级别进行集成。

相反,您为什么不尝试SOA方法,您的 PHP“前端”通过 HTTP 上定义的 REST 或 SOAP API(此处强烈支持 REST)调用 Struts 应用程序。

http://mydomain.com/rest/this-is-a-method-call?parameter1=foo

您可以使用 Struts 构建您的整个“后端”模型,只处理业务逻辑和数据,而完全忽略表示。当您使用这些 URL 公开 API 时,您基本上是在构建一个 REST API(如果您以后需要提供对后端的更大访问权限,可能会通过其他客户端应用程序,这可能会派上用场)。

您的 PHP 应用程序可以单独构建(并且相当精简),调用 REST API(可能使用 Curl)就像调用数据库或某些原生 PHP 类库一样。

无论如何,这就是我会做的。但是,如果你确实使用 Quercus,请发布它是如何进行的。

于 2008-09-04T15:09:26.537 回答
1

我对Java了解不多,但我记得前段时间遇到过Quercus 。它是 PHP 代码的 100% Java 解释器。

所以是的,您可以在您的 Java 应用程序中使用 PHP 模板。更新:有关更多信息,请参阅Quercus:Java 中的 PHP 。

于 2008-09-02T18:01:24.597 回答
0

后端和前端是什么意思?

如果您的意思是将 Java 用于您网站的管理端,而将 PHP 用于公众将看到的部分,那么没有什么能阻止您。

这意味着您将不得不以不同的语言维护两个应用程序。

于 2008-09-02T07:22:45.100 回答
0

我认为你的意思是你想使用 PHP 作为你的模板语言和结构作为你的中间件(动作等)。

我会想象答案是否定的,在结构会话和 PHP 之间没有某种桥梁。

如果您在 structs 操作中说在 java 中将 x 更改为 3,您不能只使用 <?php echo x ?> 或其他任何方法来获取值,您需要以某种方式来回传输该信息。

我想,提交会没问题。

不过不推荐。

于 2008-09-02T08:48:58.653 回答