• 登录校验


    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);
    	}
    		
    }
    
    
    
    
    本博客所有内容均为学习日记,如有错误,烦请指正;如有侵权,请联系作者删除。 有关文章内容方面,请尽情留言,大家相互探讨
  • 相关阅读:
    02 re模块
    24 内置模块re 正则表达式
    pickle 模块
    json模块
    命名元组
    os模块
    24 内置函数 命名元组(namedtuple) ,os ,sys,序列化,pickle,json
    functools
    ccc 音乐播放
    ccc prefab
  • 原文地址:https://www.cnblogs.com/nvyuan/p/14206322.html
Copyright © 2020-2023  润新知