整合Apache中JSP和PHP

开发 后端
本文介绍整合Apache中JSP和PHP,以及介绍发布应用程序和解决方案所使用的技术。

我们最希望任何事都是***的,如在企业应用中,我们只需要选择一个Web平台就可以部署所有的企业应用。但往往理想与现实相去甚远。在现实世界中,信息系统往往是由很多不同的操作系统、平台以及应用环境混合而成的。而且为了保持与旧的系统兼容,系统总是将当前的技术和以前的遗留技术进行混合,这样周而复始。就使系统变得越来越复杂。

对于这样的恶性变化会使很多人疲于奔命,尤其是开发人员,他们将面临几乎令人崩溃般的挑战。尤其是要将两个或更多的技术部署在同一个应用时更是如此。如本文要给出的例子中,就是将PHP和JSP程序同时部署在运行于Apache中的同一个应用程序中。在这个例子中,将提供一种方法来快速地部署这两种Web程序。开发人员也可以借鉴这种方法来处理其他类似的难题。

也许有很多人会问,我应该如做也能将基于PHP和JSP的Web程序部署在同一个Web应用程序中呢?下面我就来回答这个问题。这个问题的基本答案就是先将apache配置成PHP Web服务器,并使用Apache处理所有的PHP/CGI请求,同时使用Tomcat处理所有的其他请求(包括JSP请求)。在开始之前,让我们先看看需要哪些软件:

完成本文的例子需要三个软件:
1. Apache HTTP Server
2. Apache Tomcat
3. Apache Tomcat Connectors

一.解决方案所使用的技术

对于上述的问题,我们有几个解决方案可以考虑。这些解决方案如下所示:
1. 使Apache服务器作为主要的或默认的请求处理器,只传递Servlet/JSP请求给Java容器。
2. 将Java容器作为主要或默认的请求处理器,只允许PHP/CGI请求由Apache处理。
3. 不使用Apache,并在Tomcat中运行PHP/CGI程序。

上述的前两种解决方案类似。这两种方法都是将大量的请求引入某一个服务器(Tomcat或Apache),然后使用别外的服务器处理个别的请求(PHP和JSP)。第三种方法虽然看起来比较简单,很诱人。但Apache处理PHP时的效率是非常高的,并且提供了更安全的机制,因此,Tomcat并不合适处理PHP程序。

在本文中我们将采用第二种方案,就是将Tomcat作为主要的Web服务器来接收大部分请求,同时Apache作为后备服务器来处理PHP/CGI请求,它们的关系如图1所示。如果读者对***种方法情有独衷,可以很容易地根据第二种方法来设置。

Tomcat作为主要的请求处理器,Apache作为辅助请求处理器

1  Tomcat作为主要的请求处理器,Apache作为辅助请求处理器

二.发布应用程序

一查我们对环境进行了正确的配置,我们就可以将应用程序打包并发布到Web服务器了。将应用程序发布到Apache上和发布到Tomcat上没什么不同,都需要建立一个WEB-INF/web.xml文件,所不同的是如果请求的是PHP或CGI程序,将绕过Tomcat直接传给Apache处理。

尽管改变Apache的根目录(默认是'dtdocs')对于发布应用程序并不方便。但我们可以将Apache的根目录指向Tomcat的发布目录。这样 PHP/CGI就可以和JSP打在同一个WAR/EAR包中。我们只要简单地目录中放置HTML.PHP和JSP页即可完成发布。这对于开发,还是测试都是非常方便的。

另外,将PHP和JSP和CGI发布到同一个目录中还可以使它们共享相同的支持文件(CSS、JS、images等)的内容。还有,这个模型提供了一个Web应用程序的完整结构,以及从Java Web目录中调用PHP/CGI程序变得更简单(相对而言)。

三.总结

无论你在工作中是否被要求集成遗留的Web应用程序到新的Web程序中,或是将某个开源系统加进定制的Web应用中,或简单地将两个不同的Web应用集成到一起,你都有可能将不同的技术集成到同一个Web应用中。总之一句话,将不同的技术转换到同一种技术平台上是***的解决方案

【编辑推荐】

  1. Java Servlets(JSP)开发环境
  2. 开发JSP HTTP服务器
  3. 选择JSP开发工具
  4. Servlet和JSP路径详细介绍
  5. JSP Servlet中传递技术要点
责任编辑:佚名 来源: IT168
相关推荐

2009-06-30 16:35:54

Apache2.2Tomcat5.5JSP

2010-06-02 13:05:52

tomcat和svn

2009-07-03 14:31:51

2011-03-21 14:30:45

LAMPApachePHP

2019-09-03 15:36:58

ApacheTomcat配置

2020-07-08 13:46:27

ApacheTomcat配置

2010-01-07 17:03:47

Linux操作系统

2010-02-22 17:53:14

CentOS配置

2009-07-01 09:27:22

ASP.NETJSPPHP

2009-06-25 14:26:07

JSPJavaBeanServlet

2009-11-17 13:39:48

PHP5.0安装

2021-01-22 15:18:21

UbuntuLinuxApache

2011-03-10 14:40:50

2009-06-29 08:35:59

Linux

2009-12-07 09:53:20

搭建PHP环境

2009-07-02 17:06:36

JSP中的PageEn

2009-06-29 13:57:28

linuxapachephp

2009-07-14 16:25:04

MyEclipse开发

2010-05-12 13:50:04

2009-02-23 14:17:00

include指令动作
点赞
收藏

51CTO技术栈公众号