3_32江_0617—service
1、IUserService接口
public interface IUserService {
public User validataUser(String loginName, String loginPwd);
public boolean save(User user);
}
2、UserService类
public class UserService implements IUserService {
private IUserDao dao = new UserDao();
@Override
public User validataUser(String loginName, String loginPwd) {
User user = dao.findByLoginName(loginName);
if(user != null){
String str = user.getSalt() + loginPwd;
String encStr = MD5.create().digestHex(str);
if(encStr.equals(user.getLoginPwd())){
user.setLoginPwd(null);
user.setSalt(null);
}else{
user = null;
}
}
return user;
}
@Override
public boolean save(User user) {
boolean ret = false;
if(user != null){
if(user.getId() == null || user.getId() == 0){
user.setSalt(StrUtil.randomString(32,3));
String np = user.getSalt() + user.getLoginPwd();
user.setLoginPwd(MD5.create().digestHex(np));
return dao.insert(user);
}else{
if(!StrUtil.isBLank(user.getLoginPwd())){
user.setSalt(StrUtil.randomString(32,3));
String np = user.getSalt() + user.getLoginPwd();
user.setLoginPwd(MD5.create().digestHex(np));
}
return dao.update(user);
}
}
return ret;
}
}
3、LoginController类
@WebServlet("/Login")
public class LoginController extends HttpServlet {
private IUserService service = new UserService();
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.getRequestDispatcher("./WEB-INF/view/manage/login.jsp").forward(req,resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String loginName = req.getParameter("loginName");
String loginPwd = req.getParameter("loginPwd");
String validCode = req.getParameter("validCode");
String code = (String)req.getSession().getAttribute("code");
String msg = null;
if(!StrUtil.isBLank(validCode)){
if(validCode.equals(code)){
User user = service.validataUser(loginName, loginPwd);
if(user != null){
req.getSession().setAttribute("user", user);
req.getSession().setAttribute("msg",msg);
resp.sendRedirect("./main");
}else{
msg = "账号名或密码错误 " ;
req.getSession().setAttribute("msg",msg);
}
}else{
msg = "验证码错误";
req.getSession().setAttribute("msg",msg);
}
}else{
msg = "请输入验证码!";
req.getSession().setAttribute("msg",msg);
}
}
}