Image. jsp
CopyCode The Code is as follows: <% @ page Language = "Java" Import = "Java. util. *" pageencoding = "GBK" %>
<%
String Path = request. getcontextpath ();
String basepath = request. getscheme () + ": //" + request. getservername () + ":" + request. getserverport () + path + "/";
%>
<% @ Page contenttype = "image/JPEG" Import = "Java. AWT. *, Java. AWT. image. *, Java. util. *, javax. imageIO. * "%>
<%!
Color getrandcolor (int fc, int BC) {// obtain a random color from 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 );
}
%>
<%
// Set the page not to cache
Response. setheader ("Pragma", "No-Cache ");
Response. setheader ("cache-control", "No-Cache ");
Response. setdateheader ("expires", 0 );
// Create an image in memory
Int width = 60, Height = 20;
Bufferedimage image = new bufferedimage (width, height, bufferedimage. type_int_rgb );
// Obtain the image Context
Graphics G = image. getgraphics ();
// Generate a random class
Random random = new random ();
// Set the background color
G. setcolor (getrandcolor (200,250 ));
G. fillrect (0, 0, width, height );
// Set the font
G. setfont (new font ("Times New Roman", Font. Plain, 18 ));
// Draw a border
// G. setcolor (new color ());
// G. drawrect (0, 0, width-1, height-1 );
// Generates 155 random interference lines, making the identification code in the image hard to be used by others Program Detected
G. setcolor (getrandcolor (160,200 ));
For (INT I = 0; I <155; I ++)
{
Int x = random. nextint (width );
Int y = random. nextint (height );
Int XL = random. nextint (12 );
Int yl = random. nextint (12 );
G. drawline (X, Y, x + XL, Y + yl );
}
// Obtain the random ID code (4 digits)
String srand = "";
For (INT I = 0; I <4; I ++ ){
String Rand = string. valueof (random. nextint (10 ));
Srand + = rand;
// Display the authentication code to the image
G. setcolor (new color (20 + random. nextint (110), 20 + random. nextint (110), 20 + random. nextint (110); // The color from the call function is the same, probably because the seed is too close, so it can only be generated directly.
G. drawstring (RAND, 13 * I + 6, 16 );
}
// Save the authentication code to the session
Session. setattribute ("RAND", srand );
// The image takes effect
G. Dispose ();
// Output the image to the page
ImageIO. Write (image, "Jpeg", response. getoutputstream ());
%>
A. jsp labels ------------------------------------------------------------------------------------------------------ Copy code The Code is as follows: <% @ page Language = "Java" Import = "Java. util. *" pageencoding = "GBK" %>
<%
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>
<Title> certificate code input page </title>
<Meta http-equiv = "Content-Type" content = "text/html; charset = gb2312">
<Meta HTTP-EQUIV = "Pragma" content = "no-Cache">
<Meta HTTP-EQUIV = "cache-control" content = "no-Cache">
<Meta HTTP-EQUIV = "expires" content = "0">
</Head>
<Body>
<Form method = post action = "check. jsp">
<Table>
<Tr>
<TD align = left>
The verification code generated by the system:
</TD>
<TD>
</TD>
</Tr>
<Tr>
<TD align = left>
Enter the above verification code:
</TD>
<TD>
<Input type = text name = Rand maxlength = 4 value = "">
</TD>
</Tr>
<Tr>
<TD colspan = 2 align = center>
<Input type = submit value = "Submit detection">
</TD>
</Tr>
</Table>
</Form>
</Body>
</Html>
Check. jsp restart ---------------------------------------------------------------------------------------------------------------------- Copy code The Code is as follows: <% @ page Language = "Java" Import = "Java. util. *" pageencoding = "GBK" %>
<%
String Path = request. getcontextpath ();
String basepath = request. getscheme () + ": //" + request. getservername () + ":" + request. getserverport () + path + "/";
%>
<! Doctype HTML public "-// W3C // dtd html 4.01 transitional // en">
<% @ Page contenttype = "text/html; charset = gb2312" Language = "Java"
Import = "Java. SQL. *" errorpage = "" %>
<HTML>
<Head>
<Title> verification page </title>
<Meta http-equiv = "Content-Type" content = "text/html; charset = gb2312">
<Meta HTTP-EQUIV = "Pragma" content = "no-Cache">
<Meta HTTP-EQUIV = "cache-control" content = "no-Cache">
<Meta HTTP-EQUIV = "expires" content = "0">
</Head>
<Body>
<%
String Rand = (string) Session. getattribute ("RAND ");
String input = request. getparameter ("RAND ");
%>
The verification code generated by the system is:
<% = Rand %>
<Br>
The verification code you entered is:
<% = Input %>
<Br>
<Br>
<%
If (RAND. Equals (input )){
%>
<Font color = green> the input is the same and the authentication is successful! </Font>
<%
} Else {
%>
<Font color = Red> If the input is different, authentication fails! </Font>
<%
}
%>
</Body>
</Html>