最后,我们看一下从客户机发送来的 type 参数。假如 type 的值是 image ,那么我们从数据库获取一个随机的 Banner 对象,将该 Banner 对象添加到用户的会话,同时增加这一给定横幅的已显示次数,并将用户路由至 Banner 对象的图像字段中所引用的图像。
假如 type 的值是 link ,那么我们从会话中除去 Banner 对象,减少该横幅的剩余点击次数,并将用户重定向至 Banner 对象的 URL 字段中指定的链接。
其他方法 getRandomBanner() 、 increaseImpressions() 和 decreaseClicksRemaining() 都是助手方法,从 service 方法中调用他们。 getRandomBanner() 使用一个简单的算法从 _banners HashMap 随机地选择一个横幅。 increaseImpressions() 和 decreaseClicksRemaining() 使用 DBHandler 连接到数据库并更新给定 Banner 的信息。在这两个方法的结束部分,我们调用 init() 方法将已更新的 Banner 信息重新装入到 HashMap。
结束语
我们已创建一个应用程式,该应用程式演示了 Apache Tomcat 和 MySQL 相互之间如何通信,并向您提供了一个能为您处理大多数数据库工作的、很有用的可重用工具。您能够以几种方式来扩展这个应用程式,这些已超出本文的范围。正如我们前面描述的那样,您能够把这个应用程式扩展成一个系统,在这个系统中,您能够根据特定点击次数或甚至是特定的显示次数向客户收费。能够很容易地用某个其他字段替代数据库中的 CustomerName 字段,这个字段能够是另一个包含任何客户信息的表中的主键。
您能够扩充 DBHandler 类以处理数据库连接合用。此外,能够将希望用于应用程式的查询具体化成文本、特性或 XML 文档,从而允许扩充或更改查询定义而无需编写更多代码。
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




