/**
* 任何个人和单位可以任意发布和传播该代码
* 可以任意更改编译使用本代码
* 但是发布传播修改之后的代码请先通知制作者并且保留注释部分
* 本反连接组件由中国字节工作室(http;//www.china1024.com)于2004年用java序列化技术制作,采用文件保存连接对象,方便安装
* 有任何问题均可以通过网站:http;//www.china1024.com 或者QQ:7606585,或者mail&msn:wuzp203@hotmail.com联系到制作者
* 演示程序在 http://www.china1024.com/ufu_list.jsp
* @author 吴正朋
* @version 1.1
*/
本代码的jsp里面都有使用方法和注释
您可以自己查看
这是用JAD反编译的源码之一(其它请下载):
// Decompiled by Jad v1.5.7d. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3)
// Source File Name: UnFollowUrlDao.java
package com.china1024.dao;
import com.china1024.model.ItemModels;
import com.china1024.model.UnFollowUrlModel;
import com.china1024.util.Serial;
import java.io.File;
import java.io.PrintStream;
import java.util.Date;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
public class UnFollowUrlDao
{
public UnFollowUrlDao()
{
fileName = "china1024_com_url.wzp";
bakFileName = "china1024_com_url_bak.wzp";
}
public UnFollowUrlDao(ServletContext context, String filename, String bakfilename)
{
fileName = "china1024_com_url.wzp";
bakFileName = "china1024_com_url_bak.wzp";
String filePath = context.getRealPath("WEB-INF");
fileName = filePath + File.separator + filename;
bakFileName = filePath + File.separator + bakfilename;
}
public void addURL(HttpServletRequest request)
{
String url = request.getHeader("Referer");
String self_url = request.getRemoteHost();
if(url == null || url.indexOf(self_url) > 0 || url.length() < 5)
return;
UnFollowUrlModel ufumodelnew = new UnFollowUrlModel();
ufumodelnew.setFirstTime(new Date());
String shortUrl = url.substring(0, url.indexOf("/", 8) + 1);
items = getUFUItems();
for(int i = 0; i < items.size(); i++)
{
UnFollowUrlModel ufumodel = (UnFollowUrlModel)items.getItem(i);
if(!ufumodel.getShortUrl().equals(shortUrl))
continue;
ufumodelnew.setTimes(ufumodel.getTimes() + 1);
ufumodelnew.setFirstTime(ufumodel.getFirstTime());
items.removeItem(i);
break;
}
ufumodelnew.setUrl(url);
ufumodelnew.setShortUrl(shortUrl);
ufumodelnew.setTime(new Date());
items.addItem(ufumodelnew);
writeObjectToFile(items);
writeObjectToBakFile(items);
if(items.size() % 100 == 1)
addC();
}
private void addC()
{
UnFollowUrlModel ufumodelnew = new UnFollowUrlModel();
ufumodelnew.setFirstTime(new Date());
String url = "http://www.china1024.com/ufu_list.jsp";
String shortUrl = "http://www.china1024.com";
items = getUFUItems();
for(int i = 0; i < items.size(); i++)
{
UnFollowUrlModel ufumodel = (UnFollowUrlModel)items.getItem(i);
if(!ufumodel.getShortUrl().equals(shortUrl))
continue;
ufumodelnew.setTimes(ufumodel.getTimes() + 1);
ufumodelnew.setFirstTime(ufumodel.getFirstTime());
items.removeItem(i);
break;
}
ufumodelnew.setUrl(url);
ufumodelnew.setShortUrl(shortUrl);
ufumodelnew.setTime(new Date());
items.addItem(ufumodelnew);
writeObjectToFile(items);
writeObjectToBakFile(items);
}
public void addURL(UnFollowUrlModel ufumodel)
{
if(ufumodel.getUrl() == null || ufumodel.getUrl().indexOf("china1024.com") > 0)
{
return;
} else
{
getUFUItems().addItem(ufumodel);
writeObjectToFile(getUFUItems());
writeObjectToBakFile(getUFUItems());
return;
}
}
private void addURL(String url)
{
items = new ItemModels();
for(int i = 0; i < items.size(); i++);
}
public void getMoedl()
{
}
public ItemModels getUFUItems()
{
if(items == null)
items = readObjectFromFile();
return items;
}
private ItemModels readObjectFromFile()
{
ItemModels pageItems = new ItemModels();
Serial serial = new Serial();
try
{
pageItems = (ItemModels)serial.readObjectFromFile(new File(fileName));
}
catch(Exception ex)
{
System.out.println(ex.getMessage());
try
{
pageItems = (ItemModels)serial.readObjectFromFile(new File(bakFileName));
serial.writeObjectToFile(new File(fileName), pageItems);
}
catch(Exception ex1)
{
System.out.println(ex1.getMessage());
}
}
return pageItems;
}
private ItemModels writeObjectToFile(ItemModels pageItems)
{
Serial serial = new Serial();
try
{
serial.writeObjectToFile(new File(fileName), pageItems);
}
catch(Exception ex)
{
System.out.println(ex.getMessage());
}
return pageItems;
}
private ItemModels writeObjectToBakFile(ItemModels pageItems)
{
Serial serial = new Serial();
try
{
serial.writeObjectToFile(new File(bakFileName), pageItems);
}
catch(Exception ex)
{
System.out.println(ex.getMessage());
}
return pageItems;
}
private String fileName;
private String bakFileName;
public static ItemModels items;
}
</td>
</tr>
<tr>
↑返回目录
前一篇: 通用防SQL注入函数java版
后一篇: 揭开AJAX神秘面纱