Cheug's Blog

当前位置:网站首页 / JAVA / 正文

Session简单实现验证码登录

2019-05-23 / JAVA / 874 次围观 / 0 次吐槽 /

获取验证码

@WebServlet("/ValiDateCodeServlet")
public class ValiDateCodeServlet extends HttpServlet {
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		//生成验证码图片
		ValidateCode code = new ValidateCode(100,30,4,10);
		//取验证码字符串
		String strCode = code.getCode();
		//将验证码存Session
		HttpSession session = req.getSession();
		session.setAttribute("code", strCode);
		//输出验证码
		code.write(resp.getOutputStream());
		
	}
}

登陆验证

@WebServlet("/LoginServlet")
public class LoginServlet extends HttpServlet{
		@Override
		protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
			resp.setContentType("text/html;charset=utf-8");
			
			//获取提交数据和session
			String username = (String) req.getParameter("username");
			String password = (String) req.getParameter("password");
			String clientCode = (String) req.getParameter("code");
			String serverCode =  (String) req.getSession().getAttribute("code");

			//比较
			if(serverCode != null && clientCode != null) {
				if(!serverCode.equalsIgnoreCase(clientCode)) {
					resp.getWriter().write("验证码错误");
				}else {
					if("admin".equals(username) && "123".equals(password)) {
						resp.getWriter().write("密码正确");
					}else {
						resp.getWriter().write("密码错误");
					}
				}
			}else{
				resp.getWriter().write("空验证码");
			}
			//旧验证码作废
			req.getSession().removeAttribute("code");
		}
}


额 本文暂时没人评论 来添加一个吧

发表评论

必填

选填

选填

必填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Cheug's Blog

Copyright Cheug Rights Reserved.