淺析Java Servlet構(gòu)建系統(tǒng)
對(duì)于一個(gè)商務(wù)網(wǎng)站來(lái)說(shuō),廣告系統(tǒng)是必不可少的。一個(gè)好的廣告系統(tǒng)是一個(gè)網(wǎng)站穩(wěn)定收入的基礎(chǔ)。而旗幟廣告(banner)則是網(wǎng)站廣告中占絕大部分的廣告,因此開(kāi)發(fā)一個(gè)旗幟廣告系統(tǒng)就非常重要了。利用Java Servlet 我們可以很輕松的構(gòu)建屬于我們自己的旗幟廣告系統(tǒng)。
我們一般在網(wǎng)頁(yè)上放上一些圖片,設(shè)置它們的鏈接指向廣告客戶的網(wǎng)頁(yè),然后產(chǎn)生日志文件存放瀏覽的人數(shù),瀏覽者的IP等信息,這就是開(kāi)發(fā)旗幟廣告系統(tǒng)的一般思路。
下面,我想結(jié)合一個(gè)例程來(lái)介紹一下如何使用Java Servlet來(lái)構(gòu)建旗幟廣告系統(tǒng)。這下面這個(gè)例子中,你必須使用在你的HTML文件中使用<IMG> 標(biāo)簽。
用法有三種是:
1) Banner?config_file 或Banner?config=config_file
2) 你也可以為每一幅圖片設(shè)置自己的重定向URL。只需在你的設(shè)置中添加文件描述,Servlet也需要更多的描述參數(shù)
3)你也可以在同一個(gè)頁(yè)面上有多個(gè)旗幟廣告。你只需要在參數(shù)中加入“id=某個(gè)整數(shù)值”就可以了。這個(gè)值必須是一個(gè)你的頁(yè)面內(nèi)唯一的整數(shù)值!
有的朋友會(huì)問(wèn)了,config_file是什么文件呀? 它是一個(gè)文本文件,用來(lái)描述Servlet的設(shè)置信息。你能在你的主機(jī)的任何地方保存這個(gè)文件。現(xiàn)把參數(shù)介紹一下,這個(gè)配置文件有三個(gè)參數(shù):分別為
1、dir=some_directory
解釋: dir是你的旗幟廣告文件存放的目錄,可以使用的圖片格式有JPG ,GIF,PNG ,JPEG等。這個(gè)參數(shù)是必須有的,否則系統(tǒng)會(huì)報(bào)錯(cuò)。
2、bannerfilename=some_url
解釋: banner文件使用下面的格式,例如:
banner.gif=http://www.yesky.com/
banner.jpg=http://www.yesky.com/
3、log=some_directory_to_store_log_file
解釋:存放日志文件的目錄,可以是服務(wù)器上的任何目錄。日志文件(log file)及格式
Banner 系統(tǒng)每天會(huì)自動(dòng)產(chǎn)生兩個(gè)日志文件。分別為ddmmyyyyv.txt和ddmmyyyyc.txt 。第一個(gè)文件保存瀏覽banner的記錄,第二個(gè)文件保存重定向的記錄。兩個(gè)文件都是文本文件,每一行包括一條記錄。紀(jì)錄格式是:
IP地址 日期 圖片文件 用戶代理 重定向記錄 (只用于 *c.txt文件) ,字段之間用空格隔開(kāi)。
Banner.java源程序:
- import java.io.*;
- import java.util.*;
- import javax.servlet.*;
- import javax.servlet.http.*;
- public class Banner extends HttpServlet
- {
- public Banner(){
- }
- file://讀取配置文件內(nèi)容
- private boolean readConfig(String sConfig, Hashtable hashtable)
- {
- try
- {
- BufferedReader bufferedreader = new BufferedReader(new InputStreamReader
(new FileInputStream(sConfig)));- // 設(shè)置緩沖區(qū)讀入一個(gè)配置文件
- String sLineInformation1;//
- while((sLineInformation1 = bufferedreader.readLine()) != null)
- {
- sLineInformation1sLineInformation1 = sLineInformation1.trim();
- //去除字符串中的空格
- if(sLineInformation1.length() > 0)
- //如果字符串sLineInformation1的長(zhǎng)度大于零 {
- int i = sLineInformation1.indexOf("=");
- }
- }
以上是利用Java Servlet 我們可以很輕松的構(gòu)建屬于我們自己的旗幟廣告系統(tǒng)。
【編輯推薦】