package org.study.accountactivate.web.servlet;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.study.accountactivate.dao.UserDao;
import org.study.accountactivate.dao.impl.UserDaoImpl;
import org.study.accountactivate.domail.User;
import org.study.accountactivate.util.EmailUtils;
/**
* 用户注册
*/
public class RegisterServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private UserDao userDao = UserDaoImpl.getInstance();
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String userName = request.getParameter("userName");
String password = request.getParameter("password");
String password2 = request.getParameter("password2");
String email = request.getParameter("email");
Map<String, String> errors = new HashMap<String,String>();
if (userName == null || "".equals(userName)) {
errors.put("userName", "用户名不能为空!");
} else if (userName != null && userDao.findUserByName(userName) != null) {
errors.put("userName", "该用户已注册!");
}
if (password == null || "".equals(password)) {
errors.put("password","密码不能为空!");
} else if (password != null && password.length() < 3) {
errors.put("password","密码长度不能低于3位!");
}
if (password2 == null || "".equals(password2)) {
errors.put("password2", "确认密码不能为空!");
} else if (password2 != null && !password2.equals(password)) {
errors.put("password2", "两次输入的密码不一致!");
}
if (email == null || "".equals(email)) {
errors.put("email", "email不能为空!");
} else if (email != null && !email.matches("[0-9a-zA-Z_-]+@[0-9a-zA-Z_-]+\\.[0-9a-zA-Z_-]+(\\.[0-9a-zA-Z_-])*")) {
errors.put("email", "email格式不正确!");
}
if (!errors.isEmpty()) {
request.setAttribute("errors", errors);
request.getRequestDispatcher("/registerUI").forward(request, response);
return;
}
User user = new User();
user.setUserName(userName);
user.setPassword(password);
user.setEmail(email);
user.setActivated(false);
userDao.addUser(user);
// 注册成功后,发送帐户激活链接
EmailUtils.sendAccountActivateEmail(user);
// 注册成功直接将当前用户保存到session中
request.getSession().setAttribute("user", user);
request.getRequestDispatcher("/WEB-INF/pages/registerSuccess.jsp").forward(request,response);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
AccountActivate.zip (62个子文件)
AccountActivate
src
org
study
accountactivate
dao
impl
UserDaoImpl.java 2KB
UserDao.java 315B
domail
User.java 1KB
util
GenerateLinkUtils.java 2KB
password.dat 11B
EmailUtils.java 3KB
web
servlet
ForgotPwdServlet.java 2KB
LoginUIServlet.java 1KB
AccountActivateUIServlet.java 1KB
ResetPasswordServlet.java 2KB
ForgotPwdUIServlet.java 1KB
ResetPasswordUIServlet.java 1KB
ActivateAccountServlet.java 1KB
LoginServlet.java 2KB
UpdateServlet.java 2KB
UpdateUIServlet.java 1KB
RegisterUIServlet.java 1KB
ApplyActivateLink.java 2KB
RegisterServlet.java 3KB
.classpath 841B
build
classes
org
study
accountactivate
dao
impl
UserDaoImpl.class 3KB
UserDao.class 396B
domail
User.class 2KB
util
EmailUtils$1.class 1KB
EmailUtils.class 3KB
password.dat 11B
GenerateLinkUtils.class 3KB
web
servlet
ForgotPwdServlet.class 3KB
LoginUIServlet.class 1KB
ResetPasswordServlet.class 3KB
RegisterServlet.class 4KB
UpdateUIServlet.class 1KB
ResetPasswordUIServlet.class 1KB
LoginServlet.class 3KB
ForgotPwdUIServlet.class 1KB
ApplyActivateLink.class 2KB
AccountActivateUIServlet.class 1KB
ActivateAccountServlet.class 3KB
RegisterUIServlet.class 1KB
UpdateServlet.class 3KB
.settings
org.eclipse.wst.jsdt.ui.superType.container 49B
org.eclipse.wst.common.project.facet.core.xml 345B
org.eclipse.wst.jsdt.ui.superType.name 6B
org.eclipse.wst.common.component 499B
.jsdtscope 503B
org.eclipse.jdt.core.prefs 364B
WebContent
META-INF
MANIFEST.MF 39B
index.jsp 550B
WEB-INF
lib
mail.jar 496KB
pages
updateSuccess.jsp 466B
forgotPwd.jsp 685B
accountActivateSuccess.jsp 494B
resetPasswordSuccess.jsp 447B
forgotPwdSuccess.jsp 401B
login.jsp 1022B
update.jsp 818B
loginSuccess.jsp 1KB
resetPassword.jsp 979B
register.jsp 1013B
registerSuccess.jsp 496B
web.xml 6KB
.project 1KB
共 62 条
- 1
xyang0917
- 粉丝: 2388
- 资源: 26
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
- 5
- 6
前往页