首页 > 其他 > 详细

java生成验证码图片并应用在struts2程序上

时间:2014-02-12 00:35:16      阅读:450      评论:0      收藏:0      [点我收藏+]

    最近学习网站开发,做到注册时希望提高网站安全性,故给网站做了验证码。

    首先给出一个可运行的验证码图片生成程序,以applet形式呈现。后面附上代码下载链接,在此不研究程序具体实现。

    验证码生成大概步骤是:

    1.获得随机字符

    2.将字符绘制到图片上

    3.添加干扰线

    4.添加燥点

    5.将图片以BufferedImage形式返回。

    程序结果如图:

    bubuko.com,布布扣

 

    现在说明它如何在struts2中实现并如何显示在页面上。

    产生在action中新建一个方法getCheckCode();

public String getCheckCode(){
//获取验证码字符。
code=CheckCodeUtils.getCheckCodeString();
//将验证码写在图片上,返回BufferedImage对象
BufferedImage image=CheckCodeUtils.getCheckCodeImage(code);
//将图片输出到页面
HttpServletResponse response=ServletActionContext.getResponse();
ServletActionContext.getResponse().setContentType("image/jpeg");
try {
ImageIO.write(image, "jpeg",response.getOutputStream());
} catch (IOException e) {
e.printStackTrace();
}
return null;
}

    其中code是验证码的具体内容,而它相应的图片则被封装成图片流输出到页面上,CheckCodeUtils是上面讲的java形式的验证码生成程序,我已经做了封装,后面会给出代码。

    jsp中:

    

<html>
<head>
<script type="text/javascript">
$(function() {
$("#aRecode").click(function() {
//JS调用action只能调用一次,但是如果后面加上随机数就可以多次调用了
$("#code").attr("src", "checkcode.action?param="+new Date());
});
});
</script>
</head>
<body>
<form method="post">
<img id="code" src=\‘#\‘"  width="120px" height="50px"/>
<a id="aRecode" href=\‘#\‘" /a>
</form>

    注意    以上jsp代码只是大概代码,并不保证能够运行,所以不能直接复制。各位只要看<form>里面的内容和javascript里面的内容就可以了(这两个是一定能执行的)。

    struts2.xm

<action name="checkcode" class="initAction" method="getCheckCode">
</action>

    配置文件比较简单,只要告诉系统具体action对应哪个方法就行了。

    最终程序结果如图:

    bubuko.com,布布扣

本文出自 “先生有火吗” 博客,请务必保留此出处http://88qlp88.blog.51cto.com/4346152/1358107

java生成验证码图片并应用在struts2程序上

原文:http://88qlp88.blog.51cto.com/4346152/1358107

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!