;
47 </tr>
48 <tr>
49 <td style="text- align:right">
50 <s:submit value="廣過" />
51 </td>
52 <td style="text-align:left">
53 <s:reset value="函?"/>
54 </td>
55 </tr>
56 </table>
57 </s:form>
58 <s:fielderror cssStyle="color:red"/>
59 </body>
60</html>
61
Struts 2.0整合Hibernate 3.2开发注册登录系统(7)
时间:2011-09-14 心梦帆影
8、在JSP页中所用到的验证码的生成页面makeCertPic.jsp(我们把它放在WebRoot的other目录下):
1<%@page contentType="image/jpeg" pageEncoding="gbk"%>
2<jsp:useBean id="image" scope="page" class="com.rong.other.makeCertPic" />
3<%
4 String str = image.getCertPic(0,0,response.getOutputStream());
5 // 将验证码保存到Session中
6 session.setAttribute("certCode", str);
7%>
其中,它调用了名为makeCertPic的Bean ,这个类主要用来生成彩色的验证图片,其代码如下:
1package com.rong.other;
2import java.awt.Color;
3import java.awt.Font;
4import java.awt.Graphics;
5import java.awt.image.BufferedImage;
6import java.io.IOException;
7import java.io.OutputStream;
8import java.util.Random;
9import javax.imageio.ImageIO;
10/** *//**
11 * 生成验证码图片
12 */
13public class makeCertPic {
14 //验证码图片中可以出现的字符集,可根据需要修改
15 private char mapTable[]={
16 ''a'',''b'',''c'',''d'',''e'',''f'',
17 ''g'',''h'',''i'',''j'',''k'',''l'',
18 ''m'',''n'',''o'',''p'',''q'',''r'',
19 ''s'',''t'',''u'',''v'',''w'',''x'',
20 ''y'',''z'',''0'',''1'',''2'',''3'',
21 ''4'',''5'',''6'',''7'',''8'',''9''};
22 /** *//**
23 * 功能:生成彩色验证码图片
24 * 参数width为生成的图片的宽度,参数height为生成的图片的高度,参数os为页面的输出流
25 */
26 public String getCertPic(int width, int height, OutputStream os) {
27 if(width<=0)width=60;
28 if(height<=0)height=20;
29 BufferedImage image = new BufferedImage(width, height,
30 BufferedImage.TYPE_INT_RGB);
31 // 获取图形上下文
32 Graphics g = image.getGraphics();
33 // 设定背景色
34 g.setColor(new Color (0xDCDCDC));
35 g.fillRect(0, 0, width, height);
36 //画边框
37 g.setColor(Color.black);
38 g.drawRect(0,0,width-1,height-1);
39 // 取 随机产生的认证码
40 String strEnsure = "";
41 // 4代表4位验证码,如果要生 成更多位的认证码,则加大数值
42 for(int i=0; i<4; ++i) {
43 strEnsure += mapTable[(int)(mapTable.length*Math.random())];
44 }
45 // 将认证码显示到图象中,如果要生成更多位的认证码,增加drawString语句
46 g.set
|