Use jsp pages to generate random examples of verification number codes

  • 2020-06-19 11:31:55
  • OfStack

checkNum.jsp
 
<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="UTF-8"%> 
<%@ page contentType="image/jpeg" import="java.awt.*,java.awt.image.*,javax.imageio.*"%> 

<% 
String path = request.getContextPath(); 
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 
%> 

<%! 
Color getRandColor(int fc,int bc)// Random color selection for a given range  
{ 
Random random = new Random(); 
if(fc>255) fc= 255; 
if(bc>255) bc= 255; 
int r= fc+random.nextInt(bc-fc); 
int g= fc+random.nextInt(bc-fc); 
int b= fc+random.nextInt(bc-fc); 
return new Color(r,g,b); 
} 
%> 
<% 
response.setHeader("Pragma","No-cache");// Set the page not to be buffered  
response.setHeader("Cache-Control","no-cache"); 
response.setDateHeader("Expires",0); 
int width=60,height=20; 
BufferedImage image = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB); 
Graphics g = image.getGraphics();// Get the image context  
Random random = new Random();// Generate random objects  
g.setColor(getRandColor(200,250)); 
g.fillRect(0,0,width,height); 
g.setFont(new Font("Times New Roman",Font.PLAIN,18));// Set the font  
for(int i=0;i<155;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); 
} 
// Generate captcha randomly  
String sRand = ""; 
for(int i=0;i<4;i++) 
{ 
String rand = String.valueOf(random.nextInt(10)); 
sRand+=rand; 
// Displays the captcha in the image  
g.setColor(new Color(20+random.nextInt(110),20+random.nextInt(110),20+random.nextInt(110))); 
// Set the color to display the random number  
g.drawString(rand,13*i+6,16); 
} 
// Store the captcha to session In the  
session.setAttribute("rand",sRand); 
// The image effect  
g.dispose(); 
// Output image to page  
ImageIO.write(image,"JPEG",response.getOutputStream()); 
out.clear(); 
out = pageContext.pushBody(); 

%> 

 You can log in login.jsp Pass directly below:   Call in this format;  
 Verification code :<input class="imgbutton" name="checknum" type="text" size="15" id ="checknum" maxlength="4"/> 
<img src="checknum.jsp" alt="Change" border="1" onclick="changeCheckNum()"/><br/> 
<input type="submit" name="submit" value="login"/> 

Related articles: