- 浏览: 110265 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
wf_chn:
分析的很详细,关于标号6的部分,个人认为hadoop是用内部存 ...
Hadoop中VIntWritable编码方式解析 -
ross.geller:
写入这个VInt或VLong的时候做了取反操作的好处我猜测是不 ...
Hadoop中VIntWritable编码方式解析 -
liguocai2009:
@StrutsTagAttribute(description ...
Struts2 自定义标签的方法 -
liguocai2009:
liguocai2009 写道addParameter(&qu ...
Struts2 自定义标签的方法 -
liguocai2009:
等待你的回复
Struts2 自定义标签的方法
近段时间做用户登录,用到验证码,开始是用客户端生成的
后来知道客户端生成的种种弊端,所以还是用服务端
但是以前有没有做过,到网上查了一下,有一个例子,不过是ASP.NET的
自己是搞JAVA的,所以就想写一个,说不上是原创,只不过是把各种资料
整合起来,献给大家
VerifyCode.mxml
转自http://hi.baidu.com/bosshung
后来知道客户端生成的种种弊端,所以还是用服务端
但是以前有没有做过,到网上查了一下,有一个例子,不过是ASP.NET的
自己是搞JAVA的,所以就想写一个,说不上是原创,只不过是把各种资料
整合起来,献给大家
VerifyCode.mxml
<?xml version="1.0" encoding="utf-8"?> <mx:Image xmlns:mx="http://www.adobe.com/2006/mxml" buttonMode="true" mouseChildren="false" creationComplete="creationCompleteHandler()" click="imageClickHandler(event)"> <mx:Script> <![CDATA[ import mx.core.UIComponent; import mx.rpc.events.FaultEvent; import mx.controls.Alert; import mx.rpc.events.ResultEvent; import flash.display.Loader; import mx.rpc.soap.mxml.WebService; private var _WSDLString:String; public function set WSDLString(WSDL_String:String):void{ this._WSDLString = WSDL_String; } private function creationCompleteHandler():void{ callWebService(); } private function imageClickHandler(evt:MouseEvent):void{ callWebService(); } private var ws:WebService; public function callWebService():void{ ws = new WebService(); ws.showBusyCursor = true; ws.loadWSDL(_WSDLString); ws.addEventListener(ResultEvent.RESULT,resultHandler); ws.addEventListener(FaultEvent.FAULT,faultHandler); ws.imageToByteArray(); } public var returnedVerifyCode:String; private function resultHandler(evt:ResultEvent):void{ var ba:ByteArray = (evt.result.verifyCodeImage) as ByteArray; returnedVerifyCode = evt.result.verifyCodeString as String; var loader:Loader = new Loader(); loader.loadBytes(ba); var uiComponent:UIComponent = new UIComponent(); uiComponent.addChild(loader); this.addChild(uiComponent); } public function getVerifyCode():String{ return returnedVerifyCode; } private function faultHandler(evt:FaultEvent):void{ Alert.show(evt.fault.faultDetail+"","提示"); } private function removeEventListeners():void{ ws.removeEventListener(ResultEvent.RESULT,resultHandler); ws.removeEventListener(FaultEvent.FAULT,faultHandler); } ]]> </mx:Script><mx:WebService/> </mx:Image> import java.util.Random; import java.awt.image.BufferedImage; import java.awt.Graphics; import java.awt.Color; import java.awt.Font; import java.io.ByteArrayOutputStream; import javax.imageio.ImageIO; import org.xiongbo.webservice.VerifyCodeBean; public class MyWebService { public MyWebService(){ } public VerifyCodeBean imageToByteArray(){ String chose = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; char display[] = { '0', ' ', '0', ' ', '0', ' ', '0' }; char ran[] = {'0', '0', '0', '0' }; char temp; Random rand = new Random(); for (int i = 0; i < 4; i++) { temp = chose.charAt(rand.nextInt(chose.length())); display[i * 2] = temp; ran[i] = temp; } String random = String.valueOf(display); int width = 75, height = 25; BufferedImage image = new BufferedImage(width, height,BufferedImage.TYPE_INT_RGB); Graphics g = image.getGraphics(); //以下填充背景颜色 g.setColor(Color.GREEN); g.fillRect(0, 0, width, height); //设置字体颜色 g.setColor(Color.RED); Font font = new Font("Arial", Font.PLAIN, 18); g.setFont(font); g.drawString(random, 5, 20); //产生随机线条 for (int i = 0; i < 30; i++) { int x = rand.nextInt(width - 1); int y = rand.nextInt(height - 1); int x1 = rand.nextInt(6) + 1; int y1 = rand.nextInt(12) + 1; g.drawLine(x, y, x + x1, y + y1); } g.dispose(); ByteArrayOutputStream out = new ByteArrayOutputStream(); try { ImageIO.write(image, "PNG", out); } catch (Exception e) { e.printStackTrace(); } //去掉验证码中的空格 String [] interceptString = random.split(" "); String returnVerifyCode = ""; for(int i = 0;i<interceptString.length;i++){ returnVerifyCode += interceptString[i]; } //把多个返回值保存到对象并返回到客户端 VerifyCodeBean obj = new VerifyCodeBean(); obj.setVerifyCodeString(returnVerifyCode); obj.setVerifyCodeImage(out.toByteArray()); return obj; } }
转自http://hi.baidu.com/bosshung
发表评论
-
flex with 关键字用法
2009-10-06 20:52 1572以下示例首先设置 someOther_mc 实例的 _x 和 ... -
FLEX 系统管理器 SystemManager
2009-10-06 10:04 1941首先介绍一下SystemManager。SystemManag ... -
认识Tweener缓动类
2009-09-24 22:45 3098认识Tweener缓动类 b ... -
as3读取和发送JSON
2009-09-20 20:24 4716json是JavaScript Object Notati ... -
数据绑定技巧
2009-09-10 23:25 906有一种简单的方法可以 ... -
学习ActionScipt的一些提示
2009-09-10 15:38 929ActionScript 3.0是一种强大的面向对象语言 ... -
如何在Flex 4 中使用新的CSS语法
2009-09-10 14:38 4936by Romain Pouclet on August 31, ... -
Java程序员学习Flex和BlazeDS的十三个理由
2009-09-09 22:31 837本文列述了13个Java程序员应当学习Flex和BlazeDS ... -
Java程序员ActionScript 3入门
2009-09-09 22:30 889我们还是勇敢面对吧: ... -
flex应用程序与模块之间的数据传输
2009-09-09 22:28 14861. <mx:ModuleLoader ... -
Flex 模块化应用程序开发
2009-09-09 22:21 1004如果你没有看过Roger Gonzalez的Blog中关于模 ... -
Flex Application 初始化顺序
2009-09-09 22:19 1562preloader->systemManager-> ... -
从Flex3到Flex4的转变一览
2009-09-09 22:18 2494flex4 beta发布了,它是自flex3以来的重大改革。f ... -
Flex常识 && Bar类组件
2009-09-09 22:10 1106Loader与URLLoader的比较AS3已经中Loader ... -
Flex4相对FLex3的组件变化
2009-09-09 22:06 1995customizations much more straig ... -
Flex可视化组件开发
2009-09-09 22:04 1397Flex可视化组件都继承自UIComponent类 继承结构 ... -
Flex程序设计基础
2009-09-09 22:04 967总结:Flash Builder 4设计MXML+Action ... -
Flex特效
2009-09-08 22:47 2370这里面有许多特效很酷,希望对大家有帮助。 1.旋转 效果:ht ... -
Flex3特效的基本用法---触发器
2009-09-08 22:45 1132触发器在Flex3的特效实现中起着重要作用,对于Flex3中的 ... -
Flex Timer定时器的应用
2009-09-08 22:41 1921flash.util.Timer类 flash.u ...
相关推荐
Flex调用Webservice及java程序
使用jdk1.6、cxf2.3和tomcat开发的一个关于验证码的webservice接口,主要实现对手机验证码的验证。
Java使用SOAP获取webservice实例解析 具体实例分析说明。
java访问.net webservice 可获取与设置cookie
Flex基于WebService的数据访问 我以前看过的保存的网页 就1分下完别说我骗你~
Flex与[1].NET互操作:基于WebService的数据访问
java调用webservicejava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava...
调用WebService,最简单的办法当然是直接添加WEB引用,然后自动产生代理类,但是在...1. SoapUI工具,获取JavaWebService标准XML,保存为模板; 2. 程序里读取XML模板,替换对应的参数,通过HTTP流发送到WebService;
基于java的webservice,直接运行
关于webService的应用 非常详细
这是一个基于WebService的获取天气信息的工具类,内有详细说明,包你会!
webservice 客户端 实例 java webservice 客户端 实例 java webservice 客户端 实例 java webservice 客户端 实例 java webservice 客户端 实例 java
java调用json参数的webservice 涉及技术: JAVA JSON WEBSERVICE
动态调取webservice返回json数据,并把数据绑定到gridview中
java开发过程中,很多地方都会遇到数据传递,远程获取数据问题,我这个简单的webservice接口发布可以在java开发过程中,很多地方都会遇到数据传递,远程获取数据问题,我这个简单的webservice接口发布可以在
C# WebService返回数据四种方法(DataSet, 序列化的DataSet, Microsoft组件处理序列化DataSet, Microsoft组件处理序列化压缩DataSet)及动态调用WebService
随机验证码WebService 随机生成4为字母验证码
五分钟用Flex构建WebService应用,我以前看过的Flex连接.net的WebService比较好的保存下来的网页 2分下完别说我骗你~
一头扎进 WebService 视频教程 java1234出品 一头扎进 WebService 视频教程 java1234出品