用Tomcat和MySQL生成动态内容[MySQL防范]
本文“用Tomcat和MySQL生成动态内容[MySQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
当因特网开始从教诲和政府信息存储器改变成国际商业中央起,横幅广告就已经呈现了.转动横幅是 Web 页面上一块已分配的空间,每次装入或重新装入 Web 页面时,就用该空间内来显示广告 ― 随机显示或基于某些业务逻辑来显示.驱动转动横幅广告的程序固然相当简单,但倒是重要的广告工具.正如它们的同类,如半分钟广播和电视广告一样,这些动态广告工具答应单个 Web 页面显示差别根源的广告,并使差别公司针对相同的观众成立他们产品和服务的品牌效应.
无论您怎么对待 Web 横幅广告(是的,我们都发现它们有时令人讨厌),它们已成为因特网上的一种生活方法.存在这样的事实:Web 的观众由宏大的消费者群体所构成,他们的金钱使电子商务的车轮得以转动.在因特网市场营销的短暂历史中,电子商务全部者已表现出他们乐意花大把的钱在热门站点上做横幅广告.
有些公司(如 doubleclick.net)已经通过承当利用程序服务供应商(ASP),供应诸如跟踪对特定横幅广告的点击之类的服务,从 Web 横幅现象中获利.随后这些 ASP 奉告广告客户他们的 Web 广告活动的有效程度.
当然,象 doubleclick.net 这样的 ASP 是要收费的.假如您和我们一样,那么您不会乐意在可以免费得到服务时还要费钱.稍等一会儿 ― 您大概已经听过世上没有免费的午饭这句话.不过别耽忧.本文将耗费的只是您的时间.事实上,我们将向您演示若何构成一个开放源码(即 免费)环境来成立您自己的功效强盛的 Web 横幅跟踪系统.为了完成这一任务,我们挑选的"武器"是 Tomcat、MySQL、一个 Java servlet 和几个助手类.高兴吗?那么,让我们举行软件安装吧.
安装 Tomcat 和 MySQL
在这一节中,我们将渐渐介绍 Tomcat 和 MySQL 的安装.然后,我们将向您介绍若何安装支持这两个利用程序彼此通信所需的驱动程序.
安装 Tomcat
下载并安装 Tomcat.关于本文,我们利用了 Tomcat 4.1 Windows 版,它有一个很好的安装软件包,并且会为您成立图标和 Start 菜单文件夹.它还成立一个用于启动和终止 Tomcat 服务器的"Windows 服务(Windows Service)".安装应当非常简单,但假如您碰到麻烦,请查阅 Tomcat 文档.
安装了 Tomcat 之后,还要完成几个步骤以设置我们的转动横幅 Web 利用程序.首先,我们将在 [installdir]\webapps
目录下成立一个名为 Banner
的子目录.然后在 banner
子目录下,成立尺度的 Web 利用程序目录构造:
|
接下来,我们将增添指向我们 Web 利用程序的 context.context 只是一个体名,它奉告 Tomcat 在那边可以拜候 Web 利用程序.我们的 context 途径将是 /banner
,它将指向我们方才成立的 banner
子目录.在用户输入 http://localhost:8080/banner
后,将转至 webapps
下的顶级 banner 目录.假如他想运行我们的 BannerServlet
(将存在于 WEB-INF/classes
目录中),他可以利用 http://localhost:8080/banner/servlet/BannerServlet
.
要增添 /banner
context,首先,我们需求编辑 Tomcat conf
目录中的 server.XML 文件.在接近该文件底部的位置,您会看到几个 context 标志.那边应当有一个用于 /admin
的 context 和一个用于 /examples
的 context.请增添以下 context 标志:
|
增添了 context 标志之后,重新启动 Tomcat 以使对 server.xml 文件所做的更改见效(在我们的示例中,我们只重新启动 Tomcat 安装的 Windows 服务).
安装 MySQLs
MySQL 因其价钱(免费)而成为一种强有力的数据库,很多公司都利用 MySQL 来处理它们的数据.由于很多公司都想以较低的预算进入 Web 市场,所以利用 MySQL 的公司的数目每天都在增添.开放源码社区已张开双臂欢送 MySQL.有关这个功效强盛的数据库的文档非常丰富,并且同时有 Linux 和 Windows 版本.
下载并安装 MySQL,采取"Typical"安装选项举行安装(关于本文,我们假定您利用 MySQL 的 WinNT 版本).完成安装后,您将注意到 MySQL 一个恼人的方面:它没有在 Start 菜单中放入任何东西.您需求到数据库的安装目录(缺省情形下是 c:\mysql\
)下,然后转至 bin
目录,在那边您会找到运行 MySQL 的可履行文件.
首先,双击 winmysqladmin.exe 文件.初次翻开该文件时,会要求您输入用户名和密码.接下来,在任务栏中呈现的红绿灯图标上单击鼠标右键.转至 WinNT 并挑选"Start the service"以使 MySQL 在后台运行.最后,双击"mysql.exe"图标以启动"MySQL Monitor",您将在此利用 MySQL.
使 MySQL 和 Tomcat 共同工作
使 MySQL 和 Tomcat 彼此通信大概有些艰难.但是,通过利用 JDBC API,我们将可以相对简单地从 Java 类利用 SQL 与 MySQL 数据库通信.
我们将利用 MM MySQL JDBC 驱动程序(一个开放源码驱动程序),使 MySQL 和 Tomcat 之间的通信变得简单.(在撰写本文时,2.0.14 是其最新版本.)
遗憾的是,安装该驱动程序略微有些麻烦.首先,要从 这里下载该驱动程序的符合的 JAR 文件.我们下载了名为 mm.mysql-2.0.14-you-must-unjar-me.jar
的文件.接下来,将文件解紧缩(unjar 或 unzip)至一个暂时目录.最后,将包含驱动程序的文件从解紧缩的目录构造复制到 WEBAPPS/BANNER/WEB-INF/lib
目录中,然后重新启动 Tomcat.在我们下载的驱动程序版本中,文件的名称是 mm.mysql-2.0.14-bin.jar
.
我们本可以利用 JDBC/ODBC 桥驱动程序与 MySQL 通信,但我们认为本机驱动程序在性能上有更大上风(固然我们没有运行任何基准测试程序来证实我们的假定).关于这个利用程序,在性能上它大概不会有很大辨别,但我们决意演示若何利用本机 JDBC 驱动程序,以便您没必要在计划算大的利用程序时才去理解它.
转动横幅利用程序
既然我们已经安装了全部的软件,就让我们来看一下这个利用程序可以做什么以及我们是若何组织其架构和开辟它的.
实质上,您可以利用我们的横幅 servlet 履行两个操作.首先,您可以用它查看 Web 页面上的随机横幅图象,每次装入包含横幅广告的 Web 页面时,该随机横幅图象就会呈现.其次,您可以点击横幅图象,这将使您转至与装入的这个图象对应的链接.
按照 HTML,其代码近似于:
|
假如但愿装入随机图象,那么明显图象标志不能指向静态图象文件,因此我们将指导它运行 servlet,本例中将调用 BannerServlet.我们将利用 HTTP GET
办法参数来指导 servlet 为我们供应图象.因此,图象标志近似于:
|
该标志调用 servlet 并传入参数键值对 type=image
.servlet 的 service()
办法会注释该恳求,然后向浏览器返回随机图象.当然,servlet 必须以某种方法记着将哪个图象发送给了客户机,这样当客户机点击该图象时,它就知道应链接至何处.我们会把与发送的图象相关的元数据存储在客户机的会话上,这样,当用户点击图象时,将从他的会话装入元数据,并重新导向至得当的 URL.
链接标志看起来几近与图象标志相同:
|
当用 type=link
键值对调用 servlet 时,servlet 抓取横幅的元数据并将用户重新路由至得当的 URL.
代码和 CLASSPATH 设置
为了利用与本文一同供应的代码,您必须首先解紧缩这个 zip 文件(在 参考资料中),然后用号令行 javac
编译器或您喜好的 IDE 编译这个 .java
文件.要编译该代码,请设置 CLASSPATH
以包含这两个 JAR 文件.
mm.mySQL-2.0.14-bin.jar
(或从 MM MySQL 网站获得的别的任何版本)
servlet.jar
(假如它没有和您利用的 JDK 打包在一同)
将已编译的 .class
文件复制到先前成立的 [tomcat_installdir]\webapps\banner\WEB-INF\classes
目录中.必须将作为示例供应的图象文件和 .htm
文件放入 [tomcat_installdir]\webapps\banner
目录.
数据库设置
我们利用程序的数据库部份只是用来长期存储系统中每个横幅的元数据.换句话说,我们实际上并不在数据库中存储图象文件,而只是存储指向每个图象文件的引用.在我们的数据库中,我们将利用七个列来描写每个横幅广告.
表 1 中的描写阐明了每条记录将包含的内容.我们实际上将在利用程序中只利用这七个数据库列中的五个.我们的版本中没有利用 CustomerName
和 NumberOfClicksPurchased
,但我们把它们作为占位符安排在这里以用于扩大.您可以很简单地扩大这个利用程序,并把它用于实际的商业利用程序,此中客户为每个横幅的点击次数付款.
表 1. 数据库字段
字段名称 | 描写 | 示例 |
ImageFile | 对横幅图象物理位置的引用 | /images/sitea.gif |
URL | 站点用户点击横幅之后,应重新路由他们的目标 URL | http://www.sitea.com |
CustomerName | 购置横幅的客户名称 | John Doe |
NumberOfClicksPurchased | 用户购置的点击次数 | 140 |
NumberOfClicksRemaining | 客户剩余的点击次数 | 139 |
NumberOfImpressions | 横幅已被显示的次数 | 23 |
BannerWeight | 正在显示的这一横幅的权重 | 10 |
当然,在实际环境中,您会有一个以上的站点横幅.按照您的横幅"赞助商"支付的金额与其他赞助商的对比,您大概但愿较多地或较少地显示他的横幅. BannerWeight
字段将被用来实现这一功效.我们已经实现了一个非常简单的加权系统,每个要显示的横幅所具有的百分比概率为:
|
将方才所说的内容转换成 SQL,您可以利用 MySQL Monitor 输入以下语句:
|
要衔接到数据库,您可以输入:
|
以上是“用Tomcat和MySQL生成动态内容[MySQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |