package cn.itacast.user.web.servlet;
import java.io.IOException;
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 cn.itcast.user.domain.User;
import cn.itcast.user.service.UserException;
import cn.itcast.user.service.UserService;
public class RegistServlet extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
//依赖UserServlet
UserService userService=new UserService();
/*
* 1,封装表单数据(封装到User对象中)
*
*
* */
User form=CommonUtils.toBean(request.getParameterMap(),User.class);
/*
* 新添加任务:
* 校验验证码
* 1.用户填写的验证码已经封装到user中
* 2.从session获取真正的验证码
* 3.比较两者,不过不同,保存错误信息,保存表单数据,转发到regist.jsp
* 4.如果相同,什么都不做,向下执行!
* */
String sessionVerifyCode = (String) request.getSession().getAttribute("session_vcode");
if(sessionVerifyCode.equalsIgnoreCase(form.getVerifyCode()))
{
request.setAttribute("msg", "验证码错误");
request.setAttribute("user", form);
request.getRequestDispatcher("/user/regist.jsp").forward(request,response);
return;
}
/*
* 2.调用userService的regist()方法,传递form过去
*3.得到异常:获取异常信息,保存到request域,转发到regist.jsp中显示
*4.没有异常:输处注册成功
*
* */
try{
userService.regist(form);
response.getWriter().print("<h1>注册成功!</h1><a href='"+request.getContextPath()+"/user/login.jsp"+"'>点击这里去登录</a>");
}
catch (UserException e)
{
//获取异常信息,保存到request域
request.setAttribute("msg",e.getMessage());
//转发到regist.jsp
request.getRequestDispatcher("/user/regist.jsp").forward(request,response);
}
}
}

import java.io.IOException;
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 cn.itcast.user.domain.User;
import cn.itcast.user.service.UserException;
import cn.itcast.user.service.UserService;
public class RegistServlet extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
//依赖UserServlet
UserService userService=new UserService();
/*
* 1,封装表单数据(封装到User对象中)
*
*
* */
User form=CommonUtils.toBean(request.getParameterMap(),User.class);
/*
* 新添加任务:
* 校验验证码
* 1.用户填写的验证码已经封装到user中
* 2.从session获取真正的验证码
* 3.比较两者,不过不同,保存错误信息,保存表单数据,转发到regist.jsp
* 4.如果相同,什么都不做,向下执行!
* */
String sessionVerifyCode = (String) request.getSession().getAttribute("session_vcode");
if(sessionVerifyCode.equalsIgnoreCase(form.getVerifyCode()))
{
request.setAttribute("msg", "验证码错误");
request.setAttribute("user", form);
request.getRequestDispatcher("/user/regist.jsp").forward(request,response);
return;
}
/*
* 2.调用userService的regist()方法,传递form过去
*3.得到异常:获取异常信息,保存到request域,转发到regist.jsp中显示
*4.没有异常:输处注册成功
*
* */
try{
userService.regist(form);
response.getWriter().print("<h1>注册成功!</h1><a href='"+request.getContextPath()+"/user/login.jsp"+"'>点击这里去登录</a>");
}
catch (UserException e)
{
//获取异常信息,保存到request域
request.setAttribute("msg",e.getMessage());
//转发到regist.jsp
request.getRequestDispatcher("/user/regist.jsp").forward(request,response);
}
}
}
