| 发表于:2007-05-25 15:35:10 楼主 |
代码如下: public class cookiecounter extends httpservlet { private static final string content_type = "text/html; charset=gbk "; private int pagecount=0; //initialize global variables public void init(servletconfig config) throws servletexception { super.init(config); string s=getinitparameter( "initial "); if(s==null){ pagecount=0; }else{ pagecount=integer.parseint(s); } } //process the http get request public void doget(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception { response.setcontenttype(content_type); printwriter out = response.getwriter(); boolean cookiefound=false; cookie thiscookie=null; cookie[] cookies=request.getcookies(); if(cookies!=null){ for(int i=0;i <cookies.length;i++){ thiscookie=cookies[i]; if(thiscookie.getname().equals( "cookiecount ")){ cookiefound=true; break; } } } if(cookiefound==false){ thiscookie=new cookie( "cookiecount ", "1 "); thiscookie.setmaxage(60*1); response.addcookie(thiscookie); } out.println( " <html> "); out.println( " <head> <title> cookie counter </title> </head> "); out.println( " <body bgcolor=\ "#ffffff\ "> "); out.println( " <h1 align=center> cookie counter </h1> "); pagecount++; out.println( " <p> 此页面已被访问过 "+pagecount+ "次 "); if(cookiefound){ int cookiecount=integer.parseint(thiscookie.getvalue()); cookiecount++; thiscookie.setvalue(string.valueof(cookiecount)); thiscookie.setmaxage(1); response.addcookie(thiscookie); out.println( " <p> 在最近10秒钟内,您访问此页面 "+thiscookie.getvalue()+ "次 "); }else{ out.println( " <p> 在最近10秒钟内您没有访问此页面,或者您的浏览器不支持cookie! "); } out.println( " </body> "); out.println( " </html> "); out.close(); } //process the http post request public void dopost(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception { doget(request, response); } //clean up resources public void destroy() { } } 请各路高手给在下解释一下代码关键部分的意思,不胜感谢 尤其是为什么要判断2次cookiefound |
|
|
|
|