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

📄 useroperation.java

📁 基于struts+hibernate的电子商务网站。可运行。数据库mysql
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/**
  * @(#)tarena.action.UserOperation.java  2008-11-5  
  * Copy Right Information	: Tarena
  * Project					: xindou
  * JDK version used		: jdk1.6.4
  * Comments				: 用户操作类。
  * Version					: 1.0
  * Sr	Date		Modified By		Why & What is modified
  * 1.	2008-11-5 	小猪     		新建
  **/
package tarena.action;

import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Date;
import java.util.Set;

import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import org.apache.struts.actions.MappingDispatchAction;
import org.apache.struts.upload.FormFile;

import tarena.dao.LevelsDAO;
import tarena.dao.UserDAO;
import tarena.entity.Receiveaddress;
import tarena.entity.User;
import tarena.form.LoginForm;
import tarena.form.RegisterForm;
import tarena.form.UploadFileForm;
import tarena.form.UserForm;
import tarena.global.CookieOperate;
import tarena.global.PublicParameter;
import tarena.global.Transform;

 /**
 * 用户操作类。<br>
 * 用户注册、登陆、修改个人信息等。
 * 2008-11-5
 * @author		达内科技[Tarena Training Group]
 * @version	1.0
 * @since		JDK1.6(建议) 
 */
@SuppressWarnings("unchecked")
public class UserOperation extends MappingDispatchAction {

	/**
	 * 用户注册
	 */
	public ActionForward register(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		request.setAttribute("title", "用户注册 -");
		return mapping.findForward("register");
	}
	
	/**
	 * 用户注册
	 */
	public ActionForward registerok(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		RegisterForm rform = (RegisterForm)form;
		if(!rform.getPassword().equals(rform.getRepassword())){
			ActionMessages msgs=new ActionMessages();
			msgs.add("repassword", new ActionMessage("tip.passwordnotmatch"));
			saveErrors(request, msgs);
			return mapping.findForward("fail");
		}
		UserDAO userDAO = new UserDAO();
		User user = new User();
		user.setUsername(rform.getUsername());
		user.setPassword(rform.getPassword());
		user.setMobile(rform.getMobile());
		user.setEmail(rform.getEmail());
		user.setSex(new Byte("0"));
		user.setRegistertime(new Date());
		user.setLevels(new LevelsDAO().findById(1));
		userDAO.save(user);
//		setAttribute(request,"恭喜,注册成功! -","注册会员","恭喜,注册成功!稍后将以会员的身份登陆首页","default.htm");
//		//request.getSession().setAttribute("username", rform.getUsername());
//		Cookie cookie = new Cookie(PublicParameter.cookie_user,rform.getUsername());
//		cookie.setMaxAge(-1);
//		cookie.setPath("/");
//		CookieOperate.SaveCookie(cookie, response);
//		return mapping.findForward("message");
		
		//注册成功后,调用登录模块,进行登录
		
		LoginForm lf = new LoginForm();
		lf.setUsername(user.getUsername());
		lf.setPassword(user.getPassword());		
		lf.setExpires(-1+"");//默认cookie的有效期为浏览器进程
		
		return sendlogin(mapping, lf, request, response);
	}
	
	/**
	 * 验证注册码
	 */
	public ActionForward validateCode(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		response.setStatus(200);
		return null;
	}
	
	/**
	 * 验证用户名
	 */
	public ActionForward validateName(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		response.setStatus(200);
		return null;
	}
	
	/**
	 * 验证错误
	 */
	public ActionForward errorRe(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		//System.out.println("come error");
		response.setStatus(529);
		return null;
	}
	
	/**
	 * 用户登陆
	 */
	public ActionForward login(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		request.setAttribute("title", "会员登录 -");
		return mapping.findForward("login");
	}
	
	/**
	 * 用户提交登陆
	 */
	public ActionForward sendlogin(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		LoginForm lform = (LoginForm)form;
		UserDAO userDAO = new UserDAO();
		String lastvisite = null;
		try {
			lastvisite = request.getSession().getAttribute(PublicParameter.LAST_PAGE).toString();
		} catch (RuntimeException e) {
		}
		if(!isNull(lform.getUsername()) && !isNull(lform.getPassword()) && !isNull(lform.getExpires())){
			if(userDAO.isRegisterUser(lform.getUsername())){
				if(userDAO.isRegisterUser(lform.getUsername(), lform.getPassword())){
					if(!isNull(lastvisite)){						
						setAttribute(request, "登陆成功 -", "会员登录", "恭喜,登陆成功!稍后将跳转到您最近访问的页面.", lastvisite);
					}else{
						setAttribute(request, "登陆成功 -", "会员登录", "恭喜,登陆成功!稍后将跳转到首页.", "default.htm");						
					}
					Cookie cookie = new Cookie(PublicParameter.cookie_user,lform.getUsername());
					cookie.setMaxAge(Transform.StringToInteger(lform.getExpires())*60);
					cookie.setPath(request.getContextPath());
					CookieOperate.SaveCookie(cookie, response);
				}else
					setAttribute(request, "登陆错误 -", "会员登陆", "您输入的密码不正确!", "");
			}else
				setAttribute(request, "登陆错误 -", "会员登陆", "您输入的用户名不存在!", "");
		}else
			setAttribute(request, "登陆错误 -", "会员登陆", "用户名或密码不能为空!", "");
		return mapping.findForward("message");
	}
	
	/**
	 * 检测某字符串是否为空。
	 * @param str 字符串
	 * @return 返回是否为null或者"";
	 */
	private boolean isNull(String str){
		return str==null || str.equals("");
	}
	
	/**
	 * 设置消息的属性。
	 * @param request
	 * @param title 标题
	 * @param operation_title 操作的标题。
	 * @param operation_content 操作的内容。
	 * @param redirect_url 跳转到的url。
	 */
	private void setAttribute(HttpServletRequest request,String title,String operation_title,String operation_content,String redirect_url){
		request.setAttribute("title", title);
		request.setAttribute("operation_title", operation_title);
		request.setAttribute("operation_content", operation_content);
		request.setAttribute("redirect_url", redirect_url);
	}
	
	/**
	 * 用户退出
	 */
	public ActionForward logout(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		Cookie cookie = CookieOperate.FindCookie(PublicParameter.cookie_user, request.getCookies());
		if(cookie!=null){
			cookie.setMaxAge(0);
			cookie.setPath("/");
			CookieOperate.DeleteCookie(cookie, response);
			setAttribute(request, "会员退出 -", "会员退出", "已经清除了您的登录信息, 稍后您将以游客身份返回首页", "default.htm");
		}else
			setAttribute(request, "错误 -", "错误", "非法访问本页面!", "default.htm");
		return mapping.findForward("message");
	}
	
	/**
	 * 用户控制面板首页
	 */
	public ActionForward usercp(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		saveUserToSession(request);
		return mapping.findForward("usercp");
	}
	
	/**
	 * 保存用户信息。
	 * 
	 * @param request
	 */
	private void saveUserToSession(HttpServletRequest request){
		request.setAttribute("title", "用户控制面板");
		User user = getUser(request);
		if(user!=null)
			request.setAttribute("user", user);
	}
	
	private User getUser(HttpServletRequest request){
		User user = null;
		String username = CookieOperate.FindCookie(PublicParameter.cookie_user, request.getCookies()).getValue();
		if(username!=null)
			user = new UserDAO().findUserByUsername(username);
		return user;
	}
	
	/**
	 * 编辑个人档案
	 */
	public ActionForward usercpprofile(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		saveUserToSession(request);
		return mapping.findForward("usercpprofile");
	}
	
	/**
	 * 保存个人档案
	 */
	public ActionForward save_usercpprofile(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		User user = getUser(request);
		if(user!=null){
			UserForm uform = (UserForm)form;
			user.setSex(Byte.valueOf(uform.getGender()));
			user.setNickname(uform.getNickname());
			user.setEmail(uform.getEmail());
			if(uform.getShowemail()!=null)
				user.setEmailsecret(Byte.valueOf(uform.getShowemail()));
			else
				user.setEmailsecret(new Byte("0"));
			user.setMobile(uform.getMobile());
			user.setPhone(uform.getPhone());
			user.setHomepage(uform.getWebsite());
			user.setComefrom(uform.getLocation());
			user.setQq(uform.getQq());
			user.setMsn(uform.getMsn());
			user.setSkype(uform.getSkype());
			user.setIcq(uform.getIcq());
			user.setYahoo(uform.getYahoo());
			user.setSelfshow(uform.getBio());

⌨️ 快捷键说明

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