ssm 프레임 워크를 사용하여 확인 코드 기능을 구현하는 방법은 무엇입니까?

드디어 2 주 이상의 교육이 끝났고 수확이 꽉 찼습니다. 여기서는 ssm 프레임 워크를 사용하여 검증 코드 기능을 구현하는 방법을 여러분과 공유 할 것입니다!
1 우선 좋은 ssm 프레임 워크 여야합니다. 여기에서는 더 이상 자세히 설명하지 않습니다
. 2. 다음 내용으로 새 validatecode.jsp 파일을 만듭니다.

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.util.Random"%>
<%@ page import="java.io.OutputStream"%>
<%@ page import="java.awt.*"%>
<%@ page import="java.awt.image.BufferedImage"%>
<%@ page import="javax.imageio.ImageIO"%>
<%
	int width = 80;
	int height = 32;
	//create the image
	BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
	Graphics g = image.getGraphics();
	// set the background color
	g.setColor(new Color(0xDCDCDC));
	g.fillRect(0, 0, width, height);
	// draw the border
	g.setColor(Color.black);
	g.drawRect(0, 0, width - 1, height - 1);
	// create a random instance to generate the codes
	Random rdm = new Random();
	String hash1 = Integer.toHexString(rdm.nextInt());
	// make some confusion
	for (int i = 0; i < 50; i++) {
		int x = rdm.nextInt(width);
		int y = rdm.nextInt(height);
		g.drawOval(x, y, 0, 0);
	}
	// generate a random code
	String capstr = hash1.substring(0, 4);
	session.setAttribute("key", capstr);
	g.setColor(new Color(0, 100, 0));
	g.setFont(new Font("Candara", Font.BOLD, 24));
	g.drawString(capstr, 8, 24);
	g.dispose();
	response.setContentType("image/jpeg");
	out.clear();
	out = pageContext.pushBody();
	OutputStream strm = response.getOutputStream();
	ImageIO.write(image, "jpeg", strm);
	strm.close();
%>

물론 이러한 것들은 클래스에 작성 될 수도 있는데, 사용할 가격 패키지 및 구성 파일을 추가하지 않고 주로 Java의 펜을 사용하여 확인 코드를 그릴 수 있습니다.
여기서 확인 코드는 키-값 쌍 형식으로 캡슐화됩니다. 다음과 같이 :
여기에 사진 설명 삽입
3. 그런 다음 새 index.jsp를 만듭니다.

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://"
			+ request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
</head>
<body>
	<form action="check_Yz.do" method="post">
		<input type="text" id="num" name="num"><img
			id="loginform:vCode"
			src="${pageContext.request.contextPath }/validatecode.jsp"
			onclick="javascript:document.getElementById('loginform:vCode').src='${pageContext.request.contextPath }/validatecode.jsp?'+Math.random();" />
		<span class="color_1" id="errorMsg"></span>
		<input type="submit" value="提交">
	</form>
</body>
</html>

만약 당신의 파일명이 이전 단계와 다른 경우 여기에서 경로를 수정하십시오
여기에 사진 설명 삽입
4. 배경이 동일한 지 여부를 판단합니다 :

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class CheckAction implements IAction{
	@RequestMapping(value="check_Yz.do")
	public String check(HttpServletRequest request, HttpServletResponse response,String num){
		HttpSession session = request.getSession();
		//String num = request.getParameter("num");
		String key = (String) session.getAttribute("key");
		System.out.println(num);
		System.out.println(key);
		if (key.equals(num)) {
			System.out.println("输入正确");
		} else {
			System.out.println("验证码错误");
		}
		return "index.jsp";
	}
}

실행 효과는 다음과 같습니다 :
여기에 사진 설명 삽입
잘못 입력하면 배경에 인쇄되고 인증 코드가 잘못되었습니다!
여기에 사진 설명 삽입
입력이 정확하면
여기에 사진 설명 삽입
배경 인쇄 입력이 정확합니다
여기에 사진 설명 삽입
!

추천

출처blog.csdn.net/lq1759336950/article/details/95351810