package com.itheima.web.servlet;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;
import javax.mail.MessagingException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.beanutils.ConvertUtils;
import org.apache.commons.beanutils.Converter;
import com.itheima.domain.User;
import com.itheima.service.UserService;
import com.itheima.utils.CommonsUtils;
import com.itheima.utils.MailUtils;
public class RegisterServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
//获得表单数据
Map<String, String[]> properties = request.getParameterMap();
User user = new User();
try {
//自己指定一个类型转换器(将String转成Date)
ConvertUtils.register(new Converter() {
@Override
public Object convert(Class clazz, Object value) {
//将string转成date
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date parse = null;
try {
parse = format.parse(value.toString());
} catch (ParseException e) {
e.printStackTrace();
}
return parse;
}
}, Date.class);
//映射封装
BeanUtils.populate(user, properties);
} catch (IllegalAccessException | InvocationTargetException e) {
e.printStackTrace();
}
//private String uid;
user.setUid(CommonsUtils.getUUID());
//private String telephone;
user.setTelephone(null);
//private int state;//是否激活
user.setState(0);
//private String code;//激活码
String activeCode = CommonsUtils.getUUID();
user.setCode(activeCode);
//将user传递给service层
UserService service = new UserService();
boolean isRegisterSuccess = service.regist(user);
//是否注册成功
if(isRegisterSuccess){
//发送激活邮件
String emailMsg = "恭喜您注册成功,请点击下面的连接进行激活账户"
+ "<a href='http://localhost:8080/HeimaShop/active?activeCode="+activeCode+"'>"
+ "http://localhost:8080/HeimaShop/active?activeCode="+activeCode+"</a>";
try {
MailUtils.sendMail(user.getEmail(), emailMsg);
} catch (MessagingException e) {
e.printStackTrace();
}
//跳转到注册成功页面
response.sendRedirect(request.getContextPath()+"/registerSuccess.jsp");
}else{
//跳转到失败的提示页面
response.sendRedirect(request.getContextPath()+"/registerFail.jsp");
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
源代码-网上商城之HeimaShop-1.rar
共461个文件
jpg:180个
gif:65个
png:57个
需积分: 5 0 下载量 189 浏览量
2023-08-20
08:54:55
上传
评论
收藏 26.83MB RAR 举报
温馨提示
一、功能的演示 1.用户模块 用户注册功能 发送邮件 激活用户 表单的校验 用户的登录功能 自动登录 用户的注销功能 2.商品模块 首页热门商品和最新商品功能 商品分类 商品的列表(分页) 商品详细信息 浏览记录功能 3.购物车模块 将商品加入购物车 展示购物车功能 4.订单模块(多表和事务) 提交订单 展示订单 在线支付。。 5.后台的分类的模块 分类信息的增删改查 6.后台的商品模块 商品的信息的增删改查(文件上传) 7.后台的订单的模块 所有的订单的信息展示。。 二、一般项目开发流程(公司之间是有差异) 1)确定项目需求-----拿下一个项目 2)编写《需求说明书》----不涉及技术,只涉及业务需求 3)编写《概要设计说明书》----- 涉及技术的的宏观的内容,数据库设计,页面原型 4)编写《详细设计说明书》----- 相当于伪代码 5)编码阶段coding----根据《详细设计说明书》--- 单元测试 6)联测-----项目组内部的行为 7)测试组进行全面的专业测试----《测试报告》 8)上线(测试阶段) 9)维护和二次开发
资源推荐
资源详情
资源评论
收起资源包目录
源代码-网上商城之HeimaShop-1.rar (461个子文件)
common.css.bak 20KB
pingan.bmp 6KB
hx.bmp 6KB
gf.bmp 6KB
cmb.bmp 6KB
cmbc.bmp 6KB
ccb.bmp 6KB
dy.bmp 6KB
post.bmp 6KB
abc.bmp 6KB
zx.bmp 6KB
bj.bmp 6KB
sfz.bmp 6KB
beijingnongshang.bmp 6KB
cib.bmp 6KB
sh.bmp 6KB
icbc.bmp 6KB
ningbo.bmp 6KB
bcc.bmp 6KB
guangda.bmp 6KB
bh.bmp 6KB
bc.bmp 6KB
shpd.bmp 6KB
nanjing.bmp 6KB
zheshang.bmp 6KB
ProductInfoServlet.class 4KB
RegisterServlet.class 3KB
ProductListByCidServlet.class 3KB
ProductDao.class 3KB
ProductService.class 3KB
Product.class 2KB
User.class 2KB
JedisPoolUtils.class 2KB
CategoryListServlet.class 2KB
DataSourceUtils.class 2KB
UserDao.class 2KB
MailUtils.class 2KB
PageBean.class 2KB
CheckUsernameServlet.class 2KB
IndexServlet.class 2KB
MD5Utils.class 2KB
ActiveServlet.class 1KB
UserService.class 1KB
RegisterServlet$1.class 1KB
Category.class 719B
MailUtils$1.class 672B
CommonsUtils.class 468B
.classpath 841B
org.eclipse.wst.common.component 479B
org.eclipse.wst.jsdt.ui.superType.container 49B
bootstrap.css 144KB
bootstrap.min.css 120KB
bootstrap.min.css 120KB
product.css 29KB
bootstrap-theme.css 26KB
bootstrap-theme.min.css 23KB
common.css 20KB
Style1.css 13KB
index.css 9KB
datepicker.css 5KB
cart.css 3KB
slider.css 2KB
register.css 2KB
login.css 2KB
dtree.css 795B
style.css 786B
left.css 220B
glyphicons-halflings-regular.eot 20KB
common.gif 14KB
common.gif 14KB
loading_bar.gif 11KB
product.gif 9KB
product.gif 9KB
product.gif 9KB
logo1.gif 8KB
logo.gif 8KB
member.gif 7KB
review.gif 7KB
cart.gif 6KB
cart.gif 6KB
index.gif 5KB
logo.gif 3KB
logo.gif 3KB
article.gif 3KB
info.gif 3KB
gif53_029.gif 3KB
finalbutton.gif 3KB
septwolves.gif 2KB
eifini.gif 2KB
yishion.gif 2KB
sentubila.gif 2KB
vimly.gif 2KB
loading_icon.gif 2KB
hengyuanxiang.gif 2KB
beijirong.gif 2KB
sundance.gif 2KB
jackjones.gif 2KB
order.gif 2KB
maoren.gif 2KB
lining.gif 2KB
共 461 条
- 1
- 2
- 3
- 4
- 5
资源评论
常驻客栈
- 粉丝: 1w+
- 资源: 1366
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功