javaWeb 인증 코드 구현 - 코드 초 간단
HTML:
<h3> :h3>
<input type="text" name="validationCode" id="validationCode" placeholder=" " lay-verify="required">
<img src="validate.jsp" id="validationCode_img" title=" ? " onclick="loadimage();return false;" name="validationCode_img" align="middle">
JS:
// ,
function loadimage(){
document.getElementById("validationCode_img").src= "validate.jsp?time=" + new Date().getTime();
}
2. 한 페이지 로 인증 코드 그림 을 만 듭 니 다. 여 기 는 JSP 페이지 vaidate. jsp 를 사용 합 니 다.
@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
@page import="java.awt.image.BufferedImage"%>
@page import="java.awt.Graphics2D"%>
@page import="java.awt.Color"%>
@page import="java.awt.Font"%>
@page import="javax.imageio.ImageIO"%>
@page import="java.util.Random"%>
DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title> title>
head>
<body>
int width = 60;
int height = 20;
// Image
BufferedImage buffImg = new BufferedImage(width, height,BufferedImage.TYPE_INT_RGB);
Graphics2D g = buffImg.createGraphics();
//
Random random = new Random();
g.setColor(Color.WHITE);
g.fillRect(0, 0, width, height);
// ,
Font font = new Font("Times New Roman", Font.PLAIN, 18);
//
g.setFont(font);
//
g.setColor(Color.BLACK);
g.drawRect(0, 0, width - 1, height - 1);
// 160
g.setColor(Color.LIGHT_GRAY);
for (int i = 0; i < 160; i++) {
int x = random.nextInt(width);
int y = random.nextInt(height);
int x1 = random.nextInt(12);
int y1 = random.nextInt(12);
g.drawLine(x, y, x + x1, y + y1);
}
// randomCode
StringBuffer randomCode = new StringBuffer();
int red = 0, green = 0, blue = 0;
// 4
for (int i = 0; i < 4; i++) {
//
String strRand = String.valueOf(random.nextInt(10));
//
red = random.nextInt(110);
green = random.nextInt(50);
blue = random.nextInt(50);
//
g.setColor(new Color(red, green, blue));
g.drawString(strRand, 13 * i + 6, 16);
randomCode.append(strRand);
}
// session
//HttpSession session = request.getSession();
session.setAttribute("randomCode", randomCode.toString());
//
response.setHeader("Pragma", "no-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
response.setContentType("image/jpeg");
// servlet
ServletOutputStream sos = response.getOutputStream();
ImageIO.write(buffImg, "jpeg", sos);
sos.close();
//sos = null;
out.clear();
out = pageContext.pushBody();
%>
body>
html>
3. vaidate. jsp 페이지 에서 생 성 된 인증 코드 는 자바 백 엔 드 에서 생 성 되 었 기 때문에 session 에 저장 되 었 습 니 다. 저 희 는 사용자 가 제출 할 때 작성 한 인증 코드 를 백 엔 드 로 가 져 가 야 합 니 다. 여 기 는 ajax 요청 을 사용 합 니 다. 백 엔 드 는 인증 코드 가 session 과 같은 지 판단 하면 됩 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.