登录校验

package com.sd.web.servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.sd.domain.User;
import com.sd.service.UserService;
import com.sd.service.impl.UserServiceimpl;

import cn.dsna.util.images.ValidateCode;


@WebServlet("/loginservlet")
public class loginServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//1解决乱码问题
		//请求的乱码问题
		request.setCharacterEncoding("utf-8");
		//相应的乱码问题
		response.setContentType("text/html;charset=utf-8");
		//2接收数据,参数名是表单的输入的元素的名字
		String username = request.getParameter("username");
		String password = request.getParameter("password");
		String vcode = request.getParameter("validateCode");
	
		//3校验数据
		//分别校验用户名,密码,验证码是否为空
		//username == null校验是否为空,username.trim().equals("")校验是否为空字符串
		if(username == null||username.trim().equals("")) {
			response.getWriter().write("<script>alert('用户名不能为空');window.location = 'login.jsp'</script>");
			return;
		}
		
		if(password == null||password.trim().equals("")) {
			response.getWriter().write("<script>alert('密码不能为空');window.location = 'login.jsp'</script>");
			return;
		}
		
		if(vcode == null||vcode.trim().equals("")) {
			response.getWriter().write("<script>alert('验证码不能为空');window.location = 'login.jsp'</script>");
			return;
		}
		
		//验证码是否正确
		String code = (String)request.getSession().getAttribute("code");
		if(!vcode.equalsIgnoreCase(code)) {
			response.getWriter().write("<script>alert('验证码有误');window.location = 'login.jsp'</script>");
			return;
		}
		
		//4判断用户名密码是否正确
		UserService userService = new UserServiceimpl() ;
			try {
				User user = userService.login(username, password);
				//登陆成功
				request.getSession().setAttribute("user", user);
				//重定向
				response.sendRedirect(request.getContextPath()+"/main.jsp");
			}catch(Exception e){
				response.getWriter().write("登陆失败"+e.getMessage()+";3秒后跳转到登录页面");
				response.setHeader("refresh", "3;url = login.jsp");
			}
		}
	
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		doGet(req, resp);
	}
		
}



本博客所有内容均为学习日记,如有错误,烦请指正;如有侵权,请联系作者删除。 有关文章内容方面,请尽情留言,大家相互探讨
原文地址:https://www.cnblogs.com/nvyuan/p/14206322.html