JAVA-WEB 会话技术 - (session实现验证码的校验)


登录的servlet

package login;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class LoginServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		//编码处理
		request.setCharacterEncoding("UTF-8");
		response.setContentType("text/html;charset=UTF=8");
		
		//获得session中的checkcode
		HttpSession session = request.getSession();
		String checkCode = (String) session.getAttribute("checkcode_session");
			
		//获得request中的checkcode
		String requestCheckCode = request.getParameter("checkCode");
				
		//对比两个checkcode是否相同
		if(!checkCode.equals(requestCheckCode)) {
			//不相同
			request.setAttribute("retMsg", "请重新输入验证码");
			request.getRequestDispatcher("/login.jsp").forward(request, response);
                        //需要return不然会继续执行下面的程序
                        return;
                }
		
		//验证登录....
		
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}

}

登录页面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




login
 

	

<%=request.getAttribute("retMsg")==null?"":request.getAttribute("retMsg")%>

用户名:
密码:
验证码:

运行结果

JAVA-WEB 会话技术 - (session实现验证码的校验)_第1张图片

你可能感兴趣的:(JAVA,练习,JAVA_WEB)