1 16 package dlog4j.beans; 17 18 import java.io.Serializable ; 19 import java.net.URL ; 20 import java.text.DateFormat ; 21 import java.text.SimpleDateFormat ; 22 import java.util.Date ; 23 24 import javax.servlet.http.HttpServletRequest ; 25 26 41 public class RefererBean implements Serializable { 42 43 public final static String DATE_FORMAT = "yyyyMMdd"; 44 public final static String TIME_FORMAT = "HHmmss"; 45 46 public final static DateFormat DATE = new SimpleDateFormat (DATE_FORMAT); 47 public final static DateFormat TIME = new SimpleDateFormat (TIME_FORMAT); 48 49 protected int id; 50 protected String remoteAddr; 51 protected String refererURL; 52 protected String requestURL; 53 protected String userAgent; 54 protected String visitDate; 55 protected String visitTime; 56 57 60 public RefererBean() { 61 } 62 63 67 public RefererBean(HttpServletRequest request) { 68 refererURL = request.getHeader("referer"); 69 remoteAddr = request.getRemoteAddr(); 70 userAgent = request.getHeader("user-agent"); 71 StringBuffer ru = request.getRequestURL(); 72 if(request.getQueryString()!=null){ 73 ru.append('?'); 74 ru.append(request.getQueryString()); 75 } 76 setRequestURL(ru.toString()); 77 Date curTime = new Date (); 78 visitDate = DATE.format(curTime); 79 visitTime = TIME.format(curTime); 80 curTime = null; 81 } 82 83 88 public boolean isFromOutsite() { 89 if(refererURL!=null) 90 try{ 91 URL req_url = new URL (requestURL); 92 URL ref_url = new URL (refererURL); 93 return !req_url.getHost().equalsIgnoreCase(ref_url.getHost()); 94 }catch(Exception e){} 95 return false; 96 } 97 98 public int getId() { 99 return id; 100 } 101 public void setId(int id) { 102 this.id = id; 103 } 104 public String getRequestURL() { 105 return requestURL; 106 } 107 public void setRequestURL(String reqUrl) { 108 this.requestURL = reqUrl; 109 trimReqUrl(); 110 } 111 112 protected void trimReqUrl(){ 113 if(requestURL==null) 114 return; 115 String url = ""; 116 int mainParamIdx = requestURL.indexOf("main="); 117 if(mainParamIdx!=-1){ 118 int splitIdx = requestURL.indexOf("&",mainParamIdx); 119 if(splitIdx!=-1){ 120 url = requestURL.substring(0,mainParamIdx); 121 if((splitIdx+1)<requestURL.length()){ 122 url += requestURL.substring(splitIdx+1); 123 } 124 }else{ 125 url = requestURL.substring(0,mainParamIdx-1); 126 } 127 requestURL = url; 128 } 129 } 130 131 public String getRefererURL() { 132 return refererURL; 133 } 134 public void setRefererURL(String refererURL) { 135 this.refererURL = refererURL; 136 } 137 public String getRemoteAddr() { 138 return remoteAddr; 139 } 140 public void setRemoteAddr(String remoteAddr) { 141 this.remoteAddr = remoteAddr; 142 } 143 public String getUserAgent() { 144 return userAgent; 145 } 146 public void setUserAgent(String userAgent) { 147 this.userAgent = userAgent; 148 } 149 public String getVisitDate() { 150 return visitDate; 151 } 152 public void setVisitDate(String visitDate) { 153 this.visitDate = visitDate; 154 } 155 public String getVisitTime() { 156 return visitTime; 157 } 158 public void setVisitTime(String visitTime) { 159 this.visitTime = visitTime; 160 } 161 public static void main(String [] args){ 162 Date curTime = new Date (); 163 String visitDate = DATE.format(curTime); 164 String visitTime = TIME.format(curTime); 165 System.out.println("visitDate="+visitDate); 166 System.out.println("visitTime="+visitTime); 167 } 168 } 169 | Popular Tags |