快速业务通道

基于Java的PHP框架 - Quercus简介

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-22
9 显示了一个 Manage Customer 页面,通过该页面,用户可以执行一些操作,如添加一个新客户、查找一个客户、查看数据库中的所有客户。

图 9. 客户管理应用程序流

如上图所示,HTTP 请求被 Tomcat 接收。web.xml 中的配置定义了解析 php 文件的 QuercusServlet 对象。这个对象是一个 Java servlet,它提供与 Quercus 库的接口。在这个样例应用程序中,在 php 文件中实例化的一个 PDO 对象通过 MySQL 连接器实例化与 MySQL 数据库的连接。PDO(PHP Data Object,PHP 数据对象)以一种统一的方式提供数据库访问,包括预处理语句等高级特性。

Manage Customer 应用程序的目录结构(如图 10 所示)与前面介绍的 HelloWorld 示例的目录结构相同。

图 10. Manage Customer 应用程序的目录结构

注意,这个应用程序的核心文件包含在以下子目录下的 WebContent 文件夹中:

META-INF:包含连接到 MySQL 数据库的凭证信息。

WEB-INF:包含库文件夹,库文件夹又包含运行应用程序的 Quercus jar 等文件。这个文件夹还包含描述数据源的 web.xml 文件。

所有关联的 php 和 html 文件都包含在 WebContent 文件夹中。这些文件充当应用程序的视图部分,向 Web 应用程序提供动态和静态内容。

请注意,本文末尾的样例文件 ManageCustomer.zip 包含这个应用程序的压缩版本。该文件还包含 Eclipse 需要的元数据文件,以便直接地无缝导入该 IDE。

配置 Tomcat 和 MySQL

Tomcat 的配置与 HelloWorld 应用程序的配置非常相似。此外,我们需要定义一个资源引用(如清单 6 所示)。这个元素指定一个资源管理器连接工厂引用的名称。在本例中,它是在 jdbc/mysql 中指定的数据库连接,其类型为 javax.sql.DataSource。

清单 6. web.xml 中的资源引用定义

web.xml
 . . .
 <resource-ref>
    <description>DB Connection</description>
    <res-ref-name>jdbc/mysql</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
 </resource-ref>
 . . .

我们需要在 WebContent/META-INF 文件夹下的 context.xml 中定义连接资源,如清单 7 所示。该资源包含驱动程序名、jndi 名称、用户名、密码、数据类型和 url 等属性。

清单 7. 在 context.xml 中定义的属性

context.xml
 . . .
 <Context>
 <Resource driverClassName="com.mysql.jdbc.Driver"
 maxActive="4" maxIdle="2" maxWait="5000" auth="Container"
 name="jdbc/mysql" password="" type="javax.sql.DataSource"
 url="jdbc:mysql://localhost:3306/customer" username="root"/>
 </Context>
 . . .

客户数据库只有一个表,该表可以通过运行以下脚本创建:

 use customer;
 CREATE TABLE users ( 
 id INT NOT NULL PRIMARY_KEY AUTO_INCREMENT, 
 name VARCHAR(200) 
 );

请注意,HelloWorld 应用程序使用的配置步骤(比如创建一个新的服务器配置、添加资源、在调试或运行模式下启动服务器等)也可以以类似的方式应用于这个应用程序。

应用程序概要

应用程序 Manage Customer 的索引页面显示了一列用户可以执行的操作(见图 11)。

图 11. Manage Customer 的索引页面的屏幕快照

索引页面支持以下操作:

Add Customer

Search Customer

View all Customers

Delete all Customers

显示所有操作的 index.html 页面由拥有独立动作的多个表单组成。仔细查看一下 “Add Customer”。对应

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号