image.jsp
<%
@
page
language
=
"java"
import
=
"java.util.*"
pageEncoding
=
"gb2312"
%>
<%
@
page
contentType
=
"image/jpeg"
import
=
"java.awt.*,
java.awt.image.*,java.util.*,javax.imageio.*"
%>
<%
!
/
/
隨機顏色
Color
getRandColor
(
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
)
;
}
%>
<%
out
.
clear
(
)
;
/
/
設置頁面不緩存
response
.
setHeader
(
"Pragma"
,
"No-cache"
)
;
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
(
)
;
/
/
隨機類
Random
random
=
new
Random
(
)
;
/
/
設置背景
g
.
setColor
(
getRandColor
(
200
,
250
)
)
;
g
.
fillRect
(
0
,
0
,
width
,
height
)
;
/
/
字體定義
g
.
setFont
(
new
Font
(
"Times New Roman"
,
Font
.
PLAIN
,
18
)
)
;
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
)
;
}
/
/
生成驗證碼隨機數
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
)
,
20
+
random
.
nextInt
(
110
)
,
20
+
random
.
nextInt
(
110
)
)
)
;
g
.
drawString
(
rand
,
13
*
i
+
6
,
16
)
;
}
/
/
將認證碼存入
SESSION
session
.
setAttribute
(
"code"
,
sRand
)
;
g
.
dispose
(
)
;
/
/
輸出圖像
ImageIO
.
write
(
image
,
"JPEG"
,
response
.
getOutputStream
(
)
)
;
%>
login.jsp
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
