购物网站20:用户/顾客action----用户列表---用户退出---用户管理---用户登录---用户注册---修改密码---发送邮件

/**
 * 顾客分页列表
 *
 */
@Controller("/control/user/list")
public class BuyerListAction extends Action {
 @Resource(name="buyerServiceBean") BuyerService buyerService;

 @Override @Permission(module="buyer",privilege="view")
 public ActionForward execute(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response)
   throws Exception {
  BuyerForm formbean = (BuyerForm)form;
  PageView<Buyer> pageView = new PageView<Buyer>(10,  formbean.getPage());
  LinkedHashMap<String, String> orderby = new LinkedHashMap<String, String>();
  orderby.put("regTime", "desc");
  StringBuffer jpql = new StringBuffer("");
  List<Object> params = new ArrayList<Object>();
  if("true".equals(formbean.getQuery())){
   if(formbean.getUsername()!=null && !"".equals(formbean.getUsername().trim())){
    if(params.size()>0) jpql.append(" and ");
    jpql.append("o.username=?").append(params.size()+1);
    params.add(formbean.getUsername().trim());
   }
   if(formbean.getEmail()!=null && !"".equals(formbean.getEmail().trim())){
    if(params.size()>0) jpql.append(" and ");
    jpql.append(" o.email like ?").append(params.size()+1);
    params.add("%"+ formbean.getEmail().trim()+ "%");
   }
   if(formbean.getRealname()!=null && !"".equals(formbean.getRealname().trim())){
    if(params.size()>0) jpql.append(" and ");
    jpql.append(" o.realname like ?").append(params.size()+1);
    params.add("%"+ formbean.getRealname().trim()+ "%");
   }
  }
  pageView.setQueryResult(
    buyerService.getScrollData(pageView.getFirstResult(), pageView.getMaxresult()
      , jpql.toString(), params.toArray(), orderby)
  );
  request.setAttribute("pageView", pageView);
  return mapping.findForward("list");
 }

}

 

 

-----------------------------------------------------------------------

 

/**
 * 用户退出登录状态
 *
 */
@Controller("/user/logout")
public class BuyerLogoutAction extends Action {

 @Override
 public ActionForward execute(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response)
   throws Exception {
  request.getSession().removeAttribute("user");
  return mapping.findForward("logon");
 }

}

 

---------------------------------------------------------------------

 

/**
 * 顾客管理
 *
 */
@Controller("/control/user/manage")
public class BuyerManageAction extends DispatchAction {
 @Resource(name="buyerServiceBean") BuyerService buyerService;
 /**
  * 启用
  */
 @Permission(module="buyer",privilege="enable")
 public ActionForward enable(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response)
   throws Exception {
  BuyerForm formbean = (BuyerForm) form;
  buyerService.enable((Serializable[])formbean.getUsernames());
  request.setAttribute("message", "启用成功");
  request.setAttribute("urladdress", SiteUrl.readUrl("control.user.list"));
  return mapping.findForward("message");
 }
 /**
  * 禁用
  */
 @Permission(module="buyer",privilege="delete")
 public ActionForward delete(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response)
   throws Exception {  
  BuyerForm formbean = (BuyerForm) form;
  buyerService.delete((Serializable[])formbean.getUsernames());
  request.setAttribute("message", "禁用成功");
  request.setAttribute("urladdress", SiteUrl.readUrl("control.user.list"));
  return mapping.findForward("message");
 }
}

 

--------------------------------------------------------------------------------

 

@Controller("/user/logon")
public class LogonAction extends Action {
 @Resource(name="buyerServiceBean") BuyerService buyerService;
 
 public ActionForward execute(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response)
   throws Exception {
  BuyerForm formbean = (BuyerForm) form;
  if(formbean.getUsername()!=null && !"".equals(formbean.getUsername().trim())
    && formbean.getPassword()!=null && !"".equals(formbean.getPassword().trim())){
   if(buyerService.checkUser(formbean.getUsername().trim(), formbean.getPassword().trim())){    
    request.getSession().setAttribute("user", buyerService.find(formbean.getUsername().trim()));
    String url = "/customer/shopping/deliver.do";
    if(formbean.getDirectUrl()!=null){
     url = formbean.getDirectUrl();
    }
    request.setAttribute("directUrl", url);
    return mapping.findForward("directUrl");
   }
   request.setAttribute("message", "用户名或密码有误");
  }
  return mapping.findForward("logon");
 }
}

 

---------------------------------------------------------------------------------

 

@Controller("/user/reg")
public class RegActon extends DispatchAction {
 @Resource(name="buyerServiceBean") BuyerService buyerService;
 
 public ActionForward regUI(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response)
   throws Exception {
  return mapping.findForward("reg");
 }
 
 public ActionForward reg(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response)
   throws Exception {
  BuyerForm formbean = (BuyerForm) form;
  if(!buyerService.exsit(formbean.getUsername())){
   Buyer buyer = new Buyer(formbean.getUsername(),formbean.getPassword(), formbean.getEmail());
   buyerService.save(buyer);
   request.getSession().setAttribute("user", buyer);  
   request.setAttribute("message", "用户注册成功");
   String url = "/customer/shopping/deliver.do";
   if(formbean.getDirectUrl()!=null){
    url = formbean.getDirectUrl();
   }
   request.setAttribute("urladdress", url);
   return mapping.findForward("message");
  }else{
   request.setAttribute("message", "用户已经存在");
   return mapping.findForward("reg");
  }
 }

 public ActionForward isUserExsit(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response)
   throws Exception {
  BuyerForm formbean = (BuyerForm) form;
  if(buyerService.exsit(formbean.getUsername())){
   request.setAttribute("message", "用户已经存在");
  }else{
   request.setAttribute("message", "用户可以使用");
  }
  return mapping.findForward("checkuser");
 }
}

 

--------------------------------------------------------------------------------------

 

@Controller("/user/post")
public class UpdatePasswordAction extends DispatchAction {
 @Resource BuyerService buyerService;
 /**
  * 发送密码修改邮件
  */
 public ActionForward getpassword(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response)
   throws Exception {
  BuyerForm formbean = (BuyerForm)form;
  if(formbean.getUsername()!=null){
   Buyer buyer = buyerService.find(formbean.getUsername().trim());
   if(buyer!=null){
    try{
     String validateCode = MD5.MD5Encode(buyer.getUsername()+ buyer.getPassword());
     VelocityContext context = new VelocityContext();
     context.put("username", buyer.getUsername());
     context.put("validateCode", validateCode);
     
     Template template = Velocity.getTemplate("mailContent.vm");
     StringWriter sw = new StringWriter();
     template.merge(context, sw);
     sw.flush();
     String mail = sw.toString();//邮件内容
     EmailSender.send(buyer.getEmail(), "巴巴运动网--找回密码", mail, "text/html");
     return mapping.findForward("info");
    }catch( Exception e ){
     e.printStackTrace();
    }
   }
  }
  request.setAttribute("message", "用户名不存在");
  return mapping.findForward("inputusername");
 }
 
 /**
  * 显示密码修改界面
  */
 public ActionForward update(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response)
   throws Exception {
  BuyerForm formbean = (BuyerForm)form;
  if(formbean.getUsername()!=null){
   Buyer buyer = buyerService.find(formbean.getUsername().trim());
   if(buyer!=null){
    String validateCode = MD5.MD5Encode(buyer.getUsername()+ buyer.getPassword());
    if(validateCode.equals(formbean.getValidateCode())){
     return mapping.findForward("inputpassword");
    }
   }
  }
  return mapping.findForward("errorresult");//来源不合法
 }
 /**
  * 修改密码
  */
 public ActionForward changepassword(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response)
   throws Exception {
  BuyerForm formbean = (BuyerForm)form;
  if(formbean.getUsername()!=null){
   Buyer buyer = buyerService.find(formbean.getUsername().trim());
   if(buyer!=null){
    String validateCode = MD5.MD5Encode(buyer.getUsername()+ buyer.getPassword());
    if(validateCode.equals(formbean.getValidateCode())){
     buyerService.updatePassword(buyer.getUsername(), formbean.getPassword());
     request.setAttribute("message", "密码修改成功");
     request.setAttribute("urladdress", "/user/logon.do");
     return mapping.findForward("message");
    }
   }
  }
  return mapping.findForward("errorresult");//来源不合法
 }
 
}

 

------------------------------------------------------------------------------

 

public class EmailSender {
    private static final String charset = "GBK";
    private static final String defaultMimetype = "text/plain";
   
    public static void main(String[] args) throws Exception {
     EmailSender.send(new String[]{"lhm@itcast.cn"}, "邮件测试xx", "<b>传智播客</b>",null , "text/html");
    }
    /**
     * 发送邮件
     * @param receiver 收件人
     * @param subject 标题
     * @param mailContent 邮件内容
     * @param mimetype 内容类型 默认为text/plain,如果要发送HTML内容,应设置为text/html
     */
    public static void send(String receiver, String subject, String mailContent, String mimetype) {
     send(new String[]{receiver}, subject, mailContent, mimetype);
    }
    /**
     * 发送邮件
     * @param receivers 收件人
     * @param subject 标题
     * @param mailContent 邮件内容
     * @param mimetype 内容类型 默认为text/plain,如果要发送HTML内容,应设置为text/html
     */
    public static void send(String[] receivers, String subject, String mailContent, String mimetype) {
     send(receivers, subject, mailContent, null, mimetype);
    }
    /**
     * 发送邮件
     * @param receivers 收件人
     * @param subject 标题
     * @param mailContent 邮件内容
     * @param attachements 附件
     * @param mimetype 内容类型 默认为text/plain,如果要发送HTML内容,应设置为text/html
     */
    public static void send(String[] receivers, String subject, String mailContent, File[] attachements, String mimetype) {
        Properties props = new Properties();
        props.put("mail.smtp.host", "mail.itcast.cn");//smtp服务器地址,sohu smtp
        props.put("mail.smtp.auth", "true");//需要校验
        Session session = Session.getDefaultInstance(props, new Authenticator() {
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication("job@itcast.cn","lihuoming");//登录用户名/密码
            }
        });
        session.setDebug(true);
        try {
            MimeMessage mimeMessage = new MimeMessage(session);
            mimeMessage.setFrom(new InternetAddress("job@itcast.cn"));//发件人邮件

            InternetAddress[] toAddress = new InternetAddress[receivers.length];
            for (int i=0; i<receivers.length; i++) {
                toAddress[i] = new InternetAddress(receivers[i]);
            }
            mimeMessage.setRecipients(Message.RecipientType.TO, toAddress);//收件人邮件
            mimeMessage.setSubject(subject, charset);
           
            Multipart multipart = new MimeMultipart();
            //正文
            MimeBodyPart body = new MimeBodyPart();
           // body.setText(message, charset);不支持html
            body.setContent(mailContent, (mimetype!=null && !"".equals(mimetype) ? mimetype : defaultMimetype)+ ";charset="+ charset);
            multipart.addBodyPart(body);//发件内容
            //附件
            if(attachements!=null){
             for (File attachement : attachements) {
                 MimeBodyPart attache = new MimeBodyPart();
                //ByteArrayDataSource bads = new ByteArrayDataSource(byte[],"application/x-any");
                 attache.setDataHandler(new DataHandler(new FileDataSource(attachement)));
                 String fileName = getLastName(attachement.getName());
                 attache.setFileName(MimeUtility.encodeText(fileName, charset, null));
                 multipart.addBodyPart(attache);
             }
            }
            mimeMessage.setContent(multipart);
            SimpleDateFormat formcat = new SimpleDateFormat("yyyy-MM-dd");           
            mimeMessage.setSentDate(formcat.parse("2010-7-23"));//
            Transport.send(mimeMessage);           
        } catch (Exception e) {
         e.printStackTrace();
        }
    }

    private static String getLastName(String fileName) {
        int pos = fileName.lastIndexOf("//");
        if (pos > -1) {
            fileName = fileName.substring(pos + 1);
        }
        pos = fileName.lastIndexOf("/");
        if (pos > -1) {
            fileName = fileName.substring(pos + 1);
        }
        return fileName;
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值