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

📄 online.java

📁 一个不错的bbs论坛系统.对初学者很有帮助
💻 JAVA
字号:
package com.yhbbs.comm.tag;

import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;

import org.apache.log4j.Logger;
import com.yhbbs.user.biz.OnlineBizIm;
import com.yhbbs.user.itface.bean.UserSession;
import com.yhbbs.utils.DateUtils;
import com.yhbbs.utils.ReqUtils;
/**
 * <p>Title: 论坛在线用户统计</p>
 * <br><b>WebSite: www.yyhweb.com</b>
 * <br><b>CopyRight: yyhweb[由由华网]</b>
 * @author stephen
 * @version YHBBS-2.0
 */
public class OnLine extends TagSupport{
	
	private static final long serialVersionUID = 1L;
	
	private static Logger bbslog = Logger.getLogger(OnLine.class.getName());
	
	public int doStartTag() throws JspException {
	    return 0;
	}
	public int doEndTag() throws JspException {
	   try {  
	    	 HttpServletRequest request = (HttpServletRequest)pageContext.getRequest();
	    	 int forumId = ReqUtils.getInt(request,"fId");
	    	 UserSession bbsuser = (UserSession) request.getSession(true).getAttribute("bbsuser");
	    	 int userType = 0;
	    	 if(bbsuser!=null){
	    		 userType = bbsuser.getUsertype();
	    	 }
	    	 List onlist = null;
	    	 StringBuffer sb = new StringBuffer();
	    	 
		       sb.append("<table class=tab1 align=center cellSpacing=0 cellPadding=0 width=100% >");
		    	sb.append("<tr height=25px><td  class=tab_c colspan=2>");
		    	 sb.append("<b><font color=#FFFFFF>&nbsp;|| 论坛在线统计 ||&nbsp;&nbsp;");
		    	 if(forumId==0){
		    		 int maxonline = ReqUtils.getIntAtt(request,"maxonline");
			    	 String maxtime = ReqUtils.getStrAtt(request,"maxtime");
		    		 sb.append("[ 同时在线峰值:");
		    		 sb.append(maxonline);
		    		 sb.append(" 人,发生时刻:");
		    		 sb.append(DateUtils.getDate2MStr(DateUtils.getStr2MDate(maxtime)));
		    		 sb.append(" ]&nbsp;&nbsp;");
		    	 }
		    	 sb.append("</font></b>");
		    	 sb.append("<a href=javascript:showmore()>[ <span id=flag>打开在线列表</span> ]</a>");
		      sb.append("</td></tr>");
			  
			  sb.append("<tr><td width=30px class=td_tbg align=center>");
			  sb.append("<img src=webapp/images/allonline.gif border=0 /></td>");
			  sb.append("<td class=td_lt valign=top>");
			  sb.append("<table width=99% align=center cellSpacing=0 cellPadding=0 >");
			  sb.append("<tr><td>目前论坛总在线 ");
			  sb.append(OnlineBizIm.getOnlineCount());
			  sb.append(" 人。&nbsp;");
			  if(forumId==0){
				  onlist = OnlineBizIm.getOnlinelist();
				  sb.append("其中注册用户 ");
				  sb.append(OnlineBizIm.getOnlineUserC());
				  sb.append(" 人, 访客 ");
				  sb.append(OnlineBizIm.getOnlineGuestC());
				  sb.append(" 人。<br>");
				  sb.append("在线名单图例: <img src=webapp/images/tzhu.gif border=0 /> 论坛坛主 ");
				  sb.append("&nbsp;<img src=webapp/images/zbzhu.gif border=0 /> 论坛总版主 ");
				  sb.append("&nbsp;<img src=webapp/images/bzhu.gif border=0 /> 论坛版主 ");
				  sb.append("&nbsp;<img src=webapp/images/rezh.gif border=0 /> 特殊会员 ");
				  sb.append("&nbsp;<img src=webapp/images/common.gif border=0 /> 一般用户 ");
				  sb.append("&nbsp;<img src=webapp/images/common.gif border=0 /> 待认证用户");
				  sb.append("&nbsp;<img src=webapp/images/guest.gif border=0 /> 客人");
			  }else{
				  OnlineBizIm.setForumOnlist(forumId);
				  onlist = OnlineBizIm.getForumlist();
				  sb.append("本论坛总在线 ");
				  sb.append(OnlineBizIm.getForumCount());
				  sb.append(" 人。&nbsp;");
				  sb.append("其中注册用户 ");
				  sb.append(OnlineBizIm.getForumuc());
				  sb.append(" 人,访客  ");
				  sb.append(OnlineBizIm.getForumgc());
				  sb.append(" 人。<br>");
			  }
			  sb.append("</td></tr>");
			  sb.append("<tr><td height=5px>&nbsp;</td></tr>");
			  sb.append("<tr><td class=td_t height=22px id=online style=display:none>&nbsp;");
			  sb.append(userlist(userType,onlist));
			  sb.append("</td></tr></table>");
			  sb.append("</td></tr>");
			  sb.append("</table>");
			  
			  JspWriter out = pageContext.getOut();
		         out.println(sb);
		         sb = null;
		      }catch(Exception e){
		            bbslog.error("Online tag's doEndTag error!");
		      }
		     return 6;
		 }
	
	/**
	 * @param userType 用户类型 
	 * @param onlist 在线用户列表
	 * @return String
	 */
	public String userlist(int userType,List onlist){
		StringBuffer sb2 = new StringBuffer();
		UserSession onlineuser = null;
		int i = 0;
		if(onlist!=null){
			if(onlist.size()<=100){
			  for(i=onlist.size()-1;i>=0;i--){
				  onlineuser = (UserSession) onlist.get(i);
				  sb2.append(userDisplay(onlineuser,userType));
				}
			  }else {
				 for(i=onlist.size()-1;i>=onlist.size()-100;i--){
					  onlineuser = (UserSession) onlist.get(i);
					  sb2.append(userDisplay(onlineuser,userType));
				 }
				 sb2.append("<br>&nbsp;&nbsp;<a href=OnLine.htm><b>更多在线<b></a>&nbsp;&nbsp;");
			}
		  }
		
		String str = sb2.toString();
		sb2=null;
		return str;
	}
	private String userDisplay(UserSession onlineuser,int userType){
		StringBuffer sb2 = new StringBuffer();
		String str = "";
		 switch (onlineuser.getUsertype()){
		  case 0: sb2.append("<img src=webapp/images/guest.gif border=0 alt=游客>"); break;
		  case 1: sb2.append("<img src=webapp/images/common.gif border=0 alt=待认证用户>"); break;
		  case 2: sb2.append("<img src=webapp/images/common.gif border=0 alt=一般用户>"); break;
		  case 3: sb2.append("<img src=webapp/images/rezh.gif border=0 alt=特殊用户>"); break;
		  case 4: sb2.append("<img src=webapp/images/bzhu.gif border=0 alt=论坛版主>"); break;
		  case 5: sb2.append("<img src=webapp/images/bzhu.gif border=0 alt=论坛区版主>"); break;
		  case 6: sb2.append("<img src=webapp/images/zbzhu.gif border=0 alt=论坛总版主>"); break;
		  case 7: sb2.append("<img src=webapp/images/tzhu.gif border=0 alt=管理员>"); break;
		  default:sb2.append("<img src=webapp/images/guest.gif border=0 alt=游客>");break;
	    }
	   if(onlineuser.getUserId()==0){
		  sb2.append("<a href=# "); 
	   }else{
		  sb2.append("<a href=User.htm?uId=");
		  sb2.append(onlineuser.getUserId());
		 }
	   sb2.append(" title='目前位置:"+onlineuser.getPostion());
	   sb2.append("\n"+"来访时间:"+onlineuser.getLogintime());
	   sb2.append("\n"+"活动时间:"+onlineuser.getActivetime());
	   sb2.append("\n"+"操作系统:"+onlineuser.getOs());
	   sb2.append("\n"+"浏 览 器:"+onlineuser.getBrowser());
	   sb2.append("\n"+"IP 地址:");
	   if(userType<4)
		  sb2.append(" 设置保密");
	   else
		  sb2.append(onlineuser.getIp());
	   sb2.append("'>");
	   sb2.append("&nbsp;"+onlineuser.getUsername());
	   sb2.append("</a>&nbsp;&nbsp;");
	   str = sb2.toString();
	   sb2 = null;
	   return str;
	}
}

⌨️ 快捷键说明

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