`
- 浏览:
56664 次
- 性别:
- 来自:
青岛
-
- <servlet>
- <servlet-name>image</servlet-name>
- <servlet-class
>org.test.web.AuthImage</servlet-
class
>
- </servlet>
-
- <servlet-mapping>
- <servlet-name>image</servlet-name>
- <url-pattern>/authImage</url-pattern>
- </servlet-mapping>
其servlet源代码:
- public
class
AuthImage
extends
HttpServlet
- {
-
- private
static
final
String CONTENT_TYPE =
“text/html; charset=gb2312″
;
-
- private
Font mFont =
new
Font(
“Times New Roman”
, Font.PLAIN,
17
);
- public
void
init()
throws
ServletException
- {
- super
.init();
- }
- 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);
- }
-
- public
void
service(HttpServletRequest request, HttpServletResponse response)
throws
ServletException, IOException
- {
- response.setHeader(“Pragma”
,
“No-cache”
);
- response.setHeader(“Cache-Control”
,
“no-cache”
);
- response.setDateHeader(“Expires”
,
0
);
-
- response.setContentType(“image/jpeg”
);
-
- int
width=
100
, height=
18
;
- 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(1
,
1
, width-
1
, height-
1
);
- g.setColor(new
Color(
102
,
102
,
102
));
- g.drawRect(0
,
0
, width-
1
, height-
1
);
- g.setFont(mFont);
-
- g.setColor(getRandColor(160
,
200
));
-
-
- for
(
int
i=
0
;i<
155
;i++)
- {
- int
x = random.nextInt(width -
1
);
- int
y = random.nextInt(height -
1
);
- int
xl = random.nextInt(
6
) +
1
;
- int
yl = random.nextInt(
12
) +
1
;
- g.drawLine(x,y,x + xl,y + yl);
- }
-
-
- for
(
int
i =
0
;i <
70
;i++)
- {
- int
x = random.nextInt(width -
1
);
- int
y = random.nextInt(height -
1
);
- int
xl = random.nextInt(
12
) +
1
;
- int
yl = random.nextInt(
6
) +
1
;
- g.drawLine(x,y,x - xl,y - yl);
- }
-
-
- String sRand=“”
;
- for
(
int
i=
0
;i<
6
;i++)
- {
- int
itmp = random.nextInt(
26
) +
65
;
- char
ctmp = (
char
)itmp;
- sRand += String.valueOf(ctmp);
- g.setColor(new
Color(
20
+random.nextInt(
110
),
20
+random.nextInt(
110
),
20
+random.nextInt(
110
)));
- g.drawString(String.valueOf(ctmp),15
*i+
10
,
16
);
- }
-
- HttpSession session = request.getSession(true
);
- session.setAttribute(“rand”
,sRand);
- g.dispose();
- ImageIO.write(image, “JPEG”
, response.getOutputStream());
- }
- public
void
destroy()
- {
- }
- }
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
JavaServletAPI提供了一个简单的接口,通过这个接口,Servlet引擎可以有效地跟踪用户的会话。 建立Session 因为HTTP是一个请求-响应协议,一个会话在客户机加入之前会被认为是一个新的会话。加入的意思是返回会话...
4)VIP开通功能:输入购买月数或年数,生成金额 (2)对于系统管理员 管理员具有登录、个人信息管理、视频审核、用户管理功能。 1)登录:通过注册登录进入管理员首页。 2)个人信息管理:修改个人信息,修改密码。...
控制转发层采用Servlet,数据访问层采用Hibernate(bean和dao是由Hibernate逆向工程自动生成)。 系统采用分层架构,由上到下分为视图层、控制转发层、业务层、服务层、数据库访问层。运用了一些基本设计模式,系统...
验证码的作用:有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试,实际上是用验证码是现在很多网站通行的方式(比如招商银行的网上个人银行,腾讯的QQ社区),我们利用比较简易的方式...
网上购物系统是一个基于JavaBean、Servlet和JSP的电子商务平台,旨在提供用户在线购物、订单管理、商品展示等功能。以下是该系统的一些关键特点和功能: 系统架构: MVC架构:系统采用MVC(Model-View-Controller...
餐点欢迎度(点餐率)分析,生成图表显示 ### 难点: 1. 环境配置(Tomcat与JDK的版本使用问题,DBCP/C3P0数据库连接池的配置问题) 2. 登录(会话)维持————session/cookies 3. 分页显示————PageModel/...
凯撒加密解密程序 1个目标文件 1、程序结构化,用函数分别实现 2、对文件的加密,解密输出到文件 利用随机函数抽取幸运数字 简单 EJB的真实世界模型(源代码) 15个目标文件 摘要:Java源码,初学实例,基于EJB的真实...
实例201 Servlet生成的动态图片 658 实例202 简单的JSP上传文件 661 实例203 用Servlet获取Web服务器信息 666 实例204 可选择的图形验证码 670 实例205 简单的页面注册 675 实例206 用Servlet实现分页查看...
13.8 生成条形码 556 第14章 图像操作 559 14.1 图片的大小 560 14.2 图片与鼠标相关的操作 561 14.3 图片与时间相关的操作 580 14.4 图片的动画效果 589 14.5 选择头像图片 596 14.6 图片的其他效果 599 第15章 ...
13.8 生成条形码 556 第14章 图像操作 559 14.1 图片的大小 560 14.2 图片与鼠标相关的操作 561 14.3 图片与时间相关的操作 580 14.4 图片的动画效果 589 14.5 选择头像图片 596 14.6 图片的其他效果 599 第15章 ...
一个简单的CS模式的聊天软件,用socket实现,比较简单。 凯撒加密解密程序 1个目标文件 1、程序结构化,用函数分别实现 2、对文件的加密,解密输出到文件 利用随机函数抽取幸运数字 简单 EJB的真实世界模型(源代码...
JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...
JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...
JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...
JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...
JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...
JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...
JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...
JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...