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

📄 bbsuseraction.java

📁 简易java框架开源论坛系统拥有常用论坛系统的基本功能
💻 JAVA
字号:
package com.easyjf.bbs.action;
import java.util.Date;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.easyjf.util.CommUtil;
import com.easyjf.web.IWebAction;
import com.easyjf.web.Module;
import com.easyjf.web.Page;
import com.easyjf.web.WebForm;
import com.easyjf.bbs.business.*;
/**
 * 论坛用户管理Action
 * @author 蔡世友
 *
 */
public class BBSUserAction implements IWebAction {
	public Page execute(WebForm form, Module module,HttpServletRequest request, HttpServletResponse response) {
		String method=CommUtil.null2String(form.get("easyJWebCommand"));
		ActiveUser user=(ActiveUser)request.getSession().getAttribute("bbsuser");		
		Page forward=null;
		if(method.equals(""))
		{
			return module.findPage("login");
		}
		else if("login".equals(method))//处理用户登录
		{
			return doLogin(form,module,request,response);
		}
		else if("logout".equals(method))//用户注销
		{
			request.getSession().removeAttribute("bbsuser");
			form.addResult("url","/bbs/");
			return new Page("clientforward","/bbs/forward.html","template");
		}
		else if("setting".equals(method))//用户个人资料修改
		{
			if(user==null)
			{
				form.addResult("msg","请先登录!");
				return module.findPage("login");
			}
		   forward=doEdit(form,module,user);			
		}
		else if("online".equals(method))//显示在线用户
		{
			form.addResult("ip",request.getRemoteAddr());
			String userAgent=request.getHeader("User-Agent");
			String browser =userAgent.split(";")[1].trim();
			String os =userAgent.split(";")[2].trim();
			form.addResult("os",os);
			form.addResult("browser",browser);
			form.addResult("totalOnlineNum",new Integer(0));
			form.addResult("memberNum",new Integer(0));
			form.addResult("otherNum",new Integer(0));
			
			return module.findPage("onlineList");
		}
		else if("new".equals(method))//管理员添加新用户
		{
			return module.findPage("edit");
		}		
		else if("reg".equals(method))//用户注册
		{
			return module.findPage("reg");
		}
		else if("regSave".equals(method))//保存用户注册信息
		{
			return doReg(form,module,request);
		}
		else if("edit".equals(method)||("read".equals(method)))//读取用户信息
		{
			forward=doEdit(form,module,user);
		}
		else if("show".equals(method))
		{
			forward=doShow(form,module,user);
		}
		else if("add".equals(method))//保存新用户
		{
			forward= doAdd(form,module,user);
		}
		else if("update".equals(method))//修改用户信息
		{
			forward=doUpdate(form,module,user);	
		}
		else if("del".equals(method))//删除用户信息
		{
			forward=doDel(form,module,user);
		}	
		else if("list".equals(method))//管理员显示用户信息
		{
			forward=doQuery(form,module,user);
		}
		return forward;
	}
private Page doLogin(WebForm form, Module module,HttpServletRequest request, HttpServletResponse response)
{
	request.getSession().removeAttribute("bbsuser");
	Page page=null;
	String randomCode=(String)request.getSession().getAttribute("rand");
	if(!randomCode.equals((String)form.get("randomCode")))
	{
		form.addResult("msg","验证码不正确,请重新输入!");
		return module.findPage("login");
	}
	ActiveUser user=BBSUtil.login(CommUtil.null2String(form.get("userName")),CommUtil.null2String(form.get("password")),request.getRemoteAddr());
	if(user!=null)
		{
		request.getSession().setAttribute("bbsuser",user);//登录标志
		page=module.findPage("loginSuccess");
		}
	else
	{
		form.addResult("msg","用户名或者密码不正确,请重新输入!");
		page=module.findPage("login");
	}
	return page;
}
private Page doReg(WebForm form,Module module,HttpServletRequest request)
{	
	String userName=CommUtil.null2String(form.get("userName"));
	String password=CommUtil.null2String(form.get("password"));
    String password1=CommUtil.null2String(form.get("password1"));
	if(userName.equals("")|| password.equals(""))
	{
		form.addResult("msg","用户名及密码不能为空!");
		return module.findPage("reg");
	}
	if(!password.equals(password1))
	{
		form.addResult("msg","两次输入的密码不相同!");
		return module.findPage("reg");
	}
	UserInfo userInfo=new UserInfo();
	userInfo.setUserName(userName);
	userInfo.setPassword(CommUtil.null2String(form.get("password")));
	userInfo.setEmail(CommUtil.null2String(form.get("email")));
	userInfo.setSex(CommUtil.null2String(form.get("sex")));
	userInfo.setTel(CommUtil.null2String(form.get("tel")));
	userInfo.setQq(CommUtil.null2String(form.get("qq")));
	userInfo.setIntro(CommUtil.null2String(form.get("intro")));
	userInfo.setInputTime(new Date());
	userInfo.setStatus(new Integer(0));	
	if(UserInfo.readByUserName(userName)!=null)
	{
		form.addResult("msg","用户名已经存在!");
		return module.findPage("reg");
	}
	if(userInfo.save())
	{
		form.addResult("msg","用户注册成功!");
		ActiveUser user=BBSUtil.login(userName,password,request.getRemoteAddr());		
		if(user!=null)
			{
			request.getSession().setAttribute("bbsuser",user);//登录标志
			return module.findPage("loginSuccess");
			}
	}
	else
	{
		form.addResult("msg","用户注册失败!");
		return module.findPage("reg");
	}	
	return module.findPage("reg");
}
private Page doAdd(WebForm form,Module module,ActiveUser user)
{	
	String userName=CommUtil.null2String(form.get("userName"));		
	UserInfo userInfo=new UserInfo();
	userInfo.setUserName(userName);
	userInfo.setPassword(CommUtil.null2String(form.get("password")));
	userInfo.setEmail(CommUtil.null2String(form.get("email")));
	userInfo.setSex(CommUtil.null2String(form.get("sex")));
	userInfo.setTel(CommUtil.null2String(form.get("tel")));
	userInfo.setQq(CommUtil.null2String(form.get("qq")));
	userInfo.setIntro(CommUtil.null2String(form.get("intro")));
	userInfo.setPhoto(CommUtil.null2String(form.get("photo")));	
	if(UserInfo.readByUserName(userName)!=null)
	{
		form.addResult("msg","用户名已经存在!");
		return module.findPage("edit");
	}
	if(userInfo.save())
	{
		form.addResult("msg","用户添加成功!");
	}
	else
	{
		form.addResult("msg","用户添加失败!");
		return module.findPage("edit");
	}
	
	return doQuery(form,module,user);
}
private Page doUpdate(WebForm form,Module module,ActiveUser user)
{
	String cid=CommUtil.null2String(form.get("cid"));
	UserInfo obj=null;
	if(!cid.equals(""))
	{
		obj=UserInfo.read(cid);
	}
	else if(user!=null)
	{
		obj=UserInfo.readByUserName(user.getUserName());
	}
	if(obj!=null)
	{
		//在Action中检测权限		
		if(!BBSRights.checkRights(obj,"update",user))return new Page("popedomError","/bbs/norights.htm","page");
		obj.setPassword(CommUtil.null2String(form.get("password")));
		obj.setEmail(CommUtil.null2String(form.get("email")));
		obj.setSex(CommUtil.null2String(form.get("sex")));
		obj.setTel(CommUtil.null2String(form.get("tel")));
		obj.setQq(CommUtil.null2String(form.get("qq")));
		obj.setIntro(CommUtil.null2String(form.get("intro")));
		obj.setPhoto(CommUtil.null2String(form.get("photo")));
		obj.update();			
	}
	else
	{
		form.addResult("msg","你所修改的用户不存在!");
	}
	if(!BBSRights.checkRights(obj,"isAdministrator",user))
	{
		return module.findPage("setting");
	}
	return doQuery(form,module,user);
}
private Page doDel(WebForm form,Module module,ActiveUser user)
{
	String cid=CommUtil.null2String(form.get("cid"));
	UserInfo obj=UserInfo.read(cid);		
	if(obj!=null)
	{
		if(!BBSRights.checkRights(obj,"del",user))return new Page("popedomError","/bbs/norights.htm","page");
		obj.del();
		form.addResult("msg","删除成功!");
	}
	return doQuery(form,module,user);
}
private Page doEdit(WebForm form,Module module,ActiveUser user)
{
	String cid=CommUtil.null2String(form.get("cid"));
	UserInfo obj=null;
	if(!cid.equals(""))
	{
		obj=UserInfo.read(cid);
	}
	else if(user!=null)
	{
		obj=UserInfo.readByUserName(user.getUserName());
	}
	if(!BBSRights.checkRights(obj,"edit",user))return new Page("popedomError","/bbs/norights.htm","page");	
	if(obj!=null)CommUtil.Obj2Map(obj,form.getTextElement());		
	return module.findPage("edit");
}
private Page doShow(WebForm form,Module module,ActiveUser user)
{
	String userName=CommUtil.null2String(form.get("user"));
	UserInfo obj=null;
	if(!userName.equals(""))
	{
		obj=UserInfo.readByUserName(userName);
	}	
	if(obj!=null)CommUtil.Obj2Map(obj,form.getTextElement());		
	return module.findPage("show");
}
private Page doQuery(WebForm form, Module module,ActiveUser user)
{	
	int currentPage=CommUtil.null2Int(form.get("page"));
	int pageSize=CommUtil.null2Int(form.get("pageSize"));		
	if(currentPage<1)currentPage=1;
	if(pageSize<1)pageSize=15;		
	PageList pList=BBSUtil.queryUser("1=1",pageSize,currentPage);	
	form.addResult("list",pList.getResult());
	form.addResult("totalPage",new Integer(pList.getPages()));
	form.addResult("rows",new Integer(pList.getRowCount()));
	form.addResult("gotoPageHTML",CommUtil.showPageHtml(pList.getCurrentPage(),pList.getPages()));
	return module.findPage("list");	
}
	
}

⌨️ 快捷键说明

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