1.创建vo类memder对象,添加DAOmemder增删改查实现类
略
2.注册用户Servlet
@WebServlet(name = "XXX", urlPatterns = "XXX*")
注解方式配置Servlet
1.web.xml文件配置
web-app标签 metadata-complete属性要是flase
版本需要3.0及以上
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"
'
修改自动加载版本
右键项目名称找到project Facets 在Dynamic Web Serivce 后面选择版本
2.servlet
/**
*
* @ClassName: MemberServletfront
* @Description:TODO(注册用户Servlet)
* @author: kiko
* @date: 2018年6月24日 下午1:18:12
*
* @Copyright: 2018
*/
@WebServlet(name = "MemberServletfront", urlPatterns = "/pages/MemberServletfront/*")
public class MemberServletfront extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("执行servlet程序");
String path = "/pages/errors.jsp";
// 获取地址 * 的部分转换为字符串
String status = request.getRequestURI().substring(request.getRequestURI().lastIndexOf("/") + 1);
System.out.println(status);
//如果字符串为null直接跳转到错误页面
if (status != null) {
if ("regist".equals(status)) {
// 如果地址为"/pages/MemberServletfront/regist" 正确注册提交页面 执行regist(request)
//方法获得跳转网页地址(注册成功,失败,等)
try {
path = this.regist(request);
System.out.println(path);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
// 跳转网页
request.getRequestDispatcher(path).forward(request, response);
}
/**
* @throws Exception
*
* @Title: regist
* @Description: TODO(注册具体事务)
* @param: @param request
* @param: @return
* @return: String 跳转的地址
* @throws
*/
public String regist(HttpServletRequest request) throws Exception {
// 生成随机code码 注册码
String code = UUID.randomUUID().toString();
//为了简单只取得中间4位
code = code.substring(9, 13);
// 保存提示信息的数据
String msg = null;
//保存跳转的地址
String url = null;
// 注册的vo类对象
Member vo = new Member();
// 获得注册数据 网页
String mid = request.getParameter("mid");
String password = request.getParameter("password");
// 判断输入的信息不为空
//用户名和密码都不为空
if (VakidateUtil.VakidateNoEmpty(mid) && VakidateUtil.VakidateNoEmpty(password)) {
// 封装数据
vo.setMid(mid);
// 设置密码 先用md5加密
//为了安全密码必须加密在存入数据库 调用MD5工具类方法加蜜
vo.setPassword(MD5Code.MD5Encode(password));
// 设置注册日期 为今天 vo.setRegdate(new Date()); vo.setPhoto("nophoto.jpg"); //注册设置默认图片 vo.setCode(code); //设置随机码 System.out.println(vo.getMid()); // 保存注册信息到数据库 if (!ServletFrontFactory.getIMemberServletfrontInstance().regist(vo)) { msg = "恭喜你 注册成功请激活"; //调用添加数据库方法 url = "index.jsp"; // 点击以下网页才能激活 System.out.println("发送激活邮件" + BasePath.getBasePath(request) + "/pages/member_active.jsp?mid=" + mid + "&code" + vo.getCode()); } else { // 重新 msg = "用户激活失败,请重新注册"; url = "/pages/member_regist.jsp"; } } else { msg = "输入的用户注册信息不正确,请重新输入"; url = "/pages/member_regist.jsp"; } request.setAttribute("msg", msg); request.setAttribute("url", url); // 返回提示页面 return "/pages/forward.jsp"; }}