⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 webstat.java

📁 淘客在线客服管理系统(TaokeOCS V3.2)
💻 JAVA
字号:
package msg;
import msg.*; 
import java.io.*;
import java.util.*;
import java.sql.*;
import javax.xml.parsers.DocumentBuilder;  
import javax.xml.parsers.DocumentBuilderFactory;   
import javax.xml.parsers.*;   
import javax.xml.transform.*;
import javax.xml.transform.dom.DOMSource; 
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.*;
//import javax.swing.text.*;
public class WebStat{
	 
	String sql="";
	ResultSet rs=null;
    DbConn db=null;
	public WebStat(){
		try{
			db=new msg.DbConn();
		}catch(Exception e){}
	}
	/**
	  *在数据库中添加一个新的访问记录
	  *xmlPageInfo="<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>"+
	  *			   "<U i=\"1171272975502\" t=\"\" s=\"ONLINE\" v=\"\" dm=\"www.3yan.com\"><I i=\"61.49.138.171\" "+
	  *			   "a=\"北京市海淀区 /东城区网通ADSL\" e=\"来自链接-www.3yan.com\" k=\"\" bo=\" MSIE 6.0\" "+
	  *			   "o=\" Windows NT 5.1\" l=\"zh-cn\" p=\"1024*768\" u=\"www.3yan.com\" ad=\"0\"/>"+
	  *			   "<VS><T f=\"http%3A%2F%2Fwww.3yan.com%2F\" ot=\"false\" u=\"www.3yan.com\" "+
	  *			   "t=\"2007-2-12 17:38:26\"/></VS></U>";
	  */
	public void addNewPageView(String curURL0,String xmlPageInfo){
		try{
			DocumentBuilderFactory   dbf   =   DocumentBuilderFactory.newInstance(); 	   
	 		DocumentBuilder   db1   =   dbf.newDocumentBuilder();   
	 		Document   doc   =   db1.parse(new ByteArrayInputStream(xmlPageInfo.getBytes("UTF-8"))); 	  	   
			Element U=doc.getDocumentElement(); //获取根element
			NamedNodeMap I=doc.getElementsByTagName("I").item(0).getAttributes();
			NamedNodeMap VS=doc.getElementsByTagName("VS").item(0).getChildNodes().item(0).getAttributes();
			String id = U.getAttribute("i");			 
			String ip = I.getNamedItem("i").getNodeValue();
			String area = new String(I.getNamedItem("a").getNodeValue().getBytes("UTF-8"),"UTF-8");
			area.replaceAll("\\?","_");
			String fromUrl = msg.Escape.unescape(VS.getNamedItem("f").getNodeValue());
			String linkUrl = I.getNamedItem("e").getNodeValue();
			int index=linkUrl.indexOf("-");
			if(index>0)
				linkUrl=linkUrl.substring(index+1);
			String mailUrl = "";
			String engine = "";
			String keyword = I.getNamedItem("k").getNodeValue();
			if(keyword!=null && ( keyword.indexOf("?")>=0 || keyword.indexOf(":")>=0) )
				keyword=msg.Escape.escape(keyword);
			if(keyword!=null && !keyword.equals("")&& !keyword.equals("null"))				
				engine = I.getNamedItem("e").getNodeValue();
				//engine=linkUrl;
			if(fromUrl.indexOf("mail.")>=0)
				mailUrl=fromUrl;
			String url = VS.getNamedItem("u").getNodeValue();
			String currentPage = Keyword.getPage(curURL0);
			String time = VS.getNamedItem("t").getNodeValue();
			
			String[] provinces=new String[]{"北京","广东","辽宁","福建","上海","江苏","广西","河南","甘肃","重庆",
							"湖北","四川","陕西","内蒙古","山东","天津","湖南","香港","河北","新疆",
							"吉林","黑龙江","江西","浙江","海南","西藏","澳门","贵州","青海","山西",
							"台湾","安徽","宁夏","云南"};	
			String province="";		
 			for(int i=0;i<provinces.length;i++){
				if(area.indexOf(provinces[i])>=0){
					province=provinces[i];
					break;
				}
			}
			if(province.equals(""))
				province="其它";
			if(fromUrl.length()>0)
				fromUrl=msg.Escape.escape(fromUrl);//如果不escape,url中的?可能导致insert报错:no value specified for parameter 
			if(linkUrl.length()>0)
				linkUrl=msg.Escape.escape(linkUrl);
			if(mailUrl.length()>0)
				mailUrl=msg.Escape.escape(mailUrl);
			 
			sql="insert into pageview values(\""+id+"\",\""+ip+"\",\""+area+"\",\""+province+"\",\""+fromUrl+"\",\""+linkUrl+"\",\""+mailUrl+
			    "\",\""+engine+"\",\""+keyword+"\",\""+url+"\",\""+currentPage+"\",\""+time+"\")";
			//Log.log(sql);
			if(db==null) db=new msg.DbConn();
			if(db.getConnection()==null || db.isClosed())			 
				db.setConnection();  
			db.setSqlQuery(sql);	
			db.executeUpdate();				 
 			if(db.getConnection()!=null && !db.isClosed())
				db.closeConnection();	
		}catch(Exception e){
			closeDbConnection();
			Log.log("class Webstat method addNewPageView() sql:("+sql+") error:"+e.getMessage());
		}		
	}
	public long getTimeInMillis(String type){
		if(type==null)
			return 0;
		Calendar now= Calendar.getInstance();		 
		if(type.equals("startOfToday")) 				
		 	now.set(now.get(Calendar.YEAR),now.get(Calendar.MONTH),now.get(Calendar.DAY_OF_MONTH),0,0,0);	 
		else if(type.equals("endOfToday"))			 
		  	now.set(now.get(Calendar.YEAR),now.get(Calendar.MONTH),now.get(Calendar.DAY_OF_MONTH),23,59,59);
		else if(type.equals("startOfThisMonth"))
		  	now.set(now.get(Calendar.YEAR),now.get(Calendar.MONTH),1,0,0,0);
		else if(type.equals("endOfThisMonth"))
		  	now.set(now.get(Calendar.YEAR),now.get(Calendar.MONTH),now.get(Calendar.DAY_OF_MONTH),23,59,59);
		else if(type.equals("startOfYesterday")){	
		   	now.setTimeInMillis(now.getTimeInMillis()-24*60*60*1000); 
		  	now.set(now.get(Calendar.YEAR),now.get(Calendar.MONTH),now.get(Calendar.DAY_OF_MONTH),0,0,0);	 
		}
		else if(type.equals("endOfYesterday")){	
		   	now.setTimeInMillis(now.getTimeInMillis()-24*60*60*1000); 
		  	now.set(now.get(Calendar.YEAR),now.get(Calendar.MONTH),now.get(Calendar.DAY_OF_MONTH),23,59,59); 
		}	
		return now.getTimeInMillis();			 
	} 
	public String getTimeString(String type){
		if(type==null)
			return null;
		Calendar now= Calendar.getInstance();	
		if(type.equals("startOfToday")) 				
		 	now.set(now.get(Calendar.YEAR),now.get(Calendar.MONTH),now.get(Calendar.DAY_OF_MONTH),0,0,0);	 
		else if(type.equals("endOfToday"))			 
		  	now.set(now.get(Calendar.YEAR),now.get(Calendar.MONTH),now.get(Calendar.DAY_OF_MONTH),23,59,59);
		else if(type.equals("startOfThisMonth"))
		  	now.set(now.get(Calendar.YEAR),now.get(Calendar.MONTH),1,0,0,0);
		else if(type.equals("endOfThisMonth"))
		  	now.set(now.get(Calendar.YEAR),now.get(Calendar.MONTH),now.get(Calendar.DAY_OF_MONTH),23,59,59);
		else if(type.equals("startOfYesterday")){	
		   	now.setTimeInMillis(now.getTimeInMillis()-24*60*60*1000); 
		  	now.set(now.get(Calendar.YEAR),now.get(Calendar.MONTH),now.get(Calendar.DAY_OF_MONTH),0,0,0);	 
		}
		else if(type.equals("endOfYesterday")){	
		   	now.setTimeInMillis(now.getTimeInMillis()-24*60*60*1000); 
		  	now.set(now.get(Calendar.YEAR),now.get(Calendar.MONTH),now.get(Calendar.DAY_OF_MONTH),23,59,59); 
		}	
		return getTimeString(now);			 
	} 
	
	public String getTimeString(){		 
 		return getTimeString(Calendar.getInstance());
	} 	 
	public String getTimeString(Calendar c){		 		 
		return 	String.valueOf(c.get(Calendar.YEAR))+"-"+String.valueOf(c.get(Calendar.MONTH)+1)+"-"+
				String.valueOf(c.get(Calendar.DAY_OF_MONTH))+" "+String.valueOf(c.get(Calendar.HOUR_OF_DAY))+":"+
				String.valueOf(c.get(Calendar.MINUTE))+":"+String.valueOf(c.get(Calendar.SECOND));		 
	} 
	public static void main(String[] args){
		//new WebStat();
	
	}
	private void closeDbConnection(){
		try{
			if(db.getConnection()!=null && !db.isClosed())
				db.closeConnection();			
		}catch(Exception e){}
	
	}		 

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -