点击这里使用RSS订阅本Blog:
jsp实现彩色验证码 你只用复制粘贴就可以了
转自【http://www.blogjava.net/zcq87642231/archive/2008/02/24/181748.html】
Demo1.jsp
<%
@ page language
=
"
java
"
import
=
"
java.util.*
"
pageEncoding
=
"
ISO-8859-1
"
%>
<%
@ page
import
=
"
java.awt.*
"
%>
<%
@ page
import
=
"
java.awt.image.*
"
%>
<%
@ page
import
=
"
javax.imageio.*
"
%>
<%!
Color getRanColor(
int
fc
,
int
bc)
{
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
"
);
response
.
setHeader(
"
Cache-Control
"
,
"
no-che
"
);
response
.
setDateHeader(
"
Expires
"
,
0
);
int
width
=
60
;
int
height
=
20
;
BufferedImage image
=
new BufferedImage(width
,
height
,
BufferedImage
.
TYPE_INT_RGB);
Graphics g
=
image
.
getGraphics();
Random random
=
new Random();
g
.
setColor(getRanColor(
200
,
250
));
g
.
fillRect(
0
,
0
,
width
,
height);
g
.
setFont(new Font(
"
Times New Roman
"
,
Font
.
PLAIN
,
18
));
g
.
setColor(getRanColor(
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);
}
String
sRand
=
""
;
for
(
int
i
=
0
;i
<
4
;i
++
)
{
String
rand
=
String
.
valueOf(random
.
nextInt(
10
));
sRand
+=
rand
;
g
.
setColor(new Color(
20
+
random
.
nextInt(
110
)
,
40
+
random
.
nextInt(
110
)
,
60
+
random
.
nextInt(
110
)));
g
.
drawString(
rand
,
13
*
i
+
6
,
16
);
}
session
.
setAttribute(
"
rand
"
,
sRand
);
g
.
dispose();
ImageIO
.
write
(image
,
"
JPEG
"
,
response
.
getOutputStream());
%>
Demo.jsp
<%
@ page language
=
"
java
"
pageEncoding
=
"
gbk
"
%>

<%
@ taglib uri
=
"
http://struts.apache.org/tags-bean
"
prefix
=
"
bean
"
%>
<%
@ taglib uri
=
"
http://struts.apache.org/tags-html
"
prefix
=
"
html
"
%>
<%
@ taglib uri
=
"
http://struts.apache.org/tags-logic
"
prefix
=
"
logic
"
%>
<%
@ taglib uri
=
"
http://struts.apache.org/tags-tiles
"
prefix
=
"
tiles
"
%>


<!
DOCTYPE HTML PUBLIC
"
-//W3C//DTD HTML 4.01 Transitional//EN
"
>
<
html
:
html lang
=
"
true
"
>
<
head
>
<
html
:
base
/>
<
title
>
Demo
.
jsp
</
title
>

<
meta http
-
equiv
=
"
pragma
"
content
=
"
no-cache
"
>
<
meta http
-
equiv
=
"
cache-control
"
content
=
"
no-cache
"
>
<
meta http
-
equiv
=
"
expires
"
content
=
"
0
"
>
<
meta http
-
equiv
=
"
keywords
"
content
=
"
keyword1,keyword2,keyword3
"
>
<
meta http
-
equiv
=
"
description
"
content
=
"
This is my page
"
>
<!--
<
link
rel
=
"
stylesheet
"
type
=
"
text/css
"
href
=
"
styles.css
"
>
-->

</
head
>
<
body
>&
nbsp;
<
form action
=
"
Demo2.jsp
"
>
<
input type
=
"
text
"
name
=
"
asd
"
>
<
img border
=
"
0
"
src
=
"
Demo1.jsp
"
>
<
br
>
<
input type
=
"
submit
"
name
=
"
b
"
value
=
"
点击
"
>
</
form
>
</
body
>
</
html
:
html
>
Demo2.jsp
<%
@ page language
=
"
java
"
import
=
"
java.util.*
"
pageEncoding
=
"
ISO-8859-1
"
%>

<!
DOCTYPE HTML PUBLIC
"
-//W3C//DTD HTML 4.01 Transitional//EN
"
>
<
html
>
<
head
>
<
title
>
My
JSP
'
Demo2.jsp
'
starting page
</
title
>

</
head
>
<
body
>
<%
String input
=
request
.
getParameter(
"
asd
"
);
String
rand
=
(String)request
.
getSession()
.
getAttribute(
"
rand
"
);
if
(input
.
equals(
rand
))
{
}
else
{
%>
<
jsp
:
forward page
=
"
Demo.jsp
"
></
jsp
:
forward
>
<%
}
%>
asdasd
</
body
>
</
html
>
1




















































Demo.jsp


































Demo2.jsp
































