jfinal + Patchca 验证码实现
来源:互联网 发布:淘宝良心男装店铺 编辑:程序博客网 时间:2024/05/16 05:01
下载 captcha 包
</pre><pre name="code" class="java">public class RegistController extends Controller { @ClearInterceptor(ClearLayer.ALL) public void authImg() { render(new PatchcaRender()); }}
/** * * @author* 功能: 验证码图片渲染* 版本:1* 修改日期:2014-06-27* 说明: * */public class PatchcaRender extends Render{@Overridepublic void render() {MyCaptchaService cs = new MyCaptchaService();response.setContentType(Resource.HttpHead.ImagePng);response.setHeader(Resource.HttpHead.Key_Cache,Resource.HttpHead.Key_Cache_Value);HttpSession session = request.getSession(true);try {OutputStream os = response.getOutputStream();String patchca= EncoderHelper.getChallangeAndWriteImage(cs, "png", os);//写入验证码到sessionsession.setAttribute(Resource.Patchca.SessionKey, patchca);os.flush();os.close();} catch (IOException e) {e.printStackTrace();}finally{}} public static boolean validCheckCode(Controller c,String validCode){ String validCodeSession = c.getSessionAttr(Resource.Patchca.SessionKey); if (validCodeSession == null || !validCodeSession.equals(validCode)) { return false; } else { return true; } }}
/** 验证码相关常量 **/ public class Patchca { public static final String SessionKey = "PATCHCA"; public static final String FormKey = "captcha"; } /** http 请求头相关常量 **/ public class HttpHead { public static final String ImagePng = "image/png"; public static final String ImageJPEG = "image/jpeg"; public static final String Key_Cache = "cache"; public static final String Key_Cache_Value = "no-cache"; }
/** * * @author * 功能: 验证码服务* 版本:1* 修改日期:2014-06-27* 说明: * */public class MyCaptchaService extends AbstractCaptchaService {public MyCaptchaService() {//文本内容wordFactory = new MyWordFactory();//字体List<String> fonts = new ArrayList<String>();fonts.add("Verdana");fonts.add("Tahoma");fontFactory = new RandomFontFactory(20,fonts);//效果textRenderer = new BestFitTextRenderer();//背景backgroundFactory = new SingleColorBackgroundFactory();//字体颜色colorFactory = new SingleColorFactory(new Color(25, 60, 170));//样式(曲线波纹加干扰线)filterFactory = new WobbleRippleFilterFactory ();//图片长宽width = 119;height = 35;}}
/** * * @author * 功能: 验证码文字生成工厂* 版本:1* 修改日期:2014-06-27* 说明: * */public class MyWordFactory extends RandomWordFactory {public MyWordFactory() { //规定验证码出现的文字 characters = "0123456789"; minLength = 4; maxLength = 3; }}
0 0
- jfinal + Patchca 验证码实现
- java 验证码之 patchca
- 使用patchca生成验证码
- 利用patchca生成验证码
- Jfinal 验证码简单实现
- Java使用patchca生成验证码
- Java验证码 patchca使用配置方法
- Java使用patchca生成验证码
- SpringMVC中使用patchca生成验证码
- patchca生成超炫的验证码
- jfinal的图片验证码实现
- JFinal 验证码绘制
- 使用开源项目patchca生成验证码
- 使用开源项目patchca生成验证码
- patchca整合Spring MVC生成超炫的验证码
- patchca整合Spring MVC生成超炫的验证码
- patchca整合Spring MVC生成超炫的验证码
- patchca整合Spring MVC生成漂亮的验证码
- nfs启动失败
- apache安装
- 通过机房工作看软工之软工总结
- 以服务的方式运行svn
- jQuery $.each用法
- jfinal + Patchca 验证码实现
- SpringMVC RESTful风格URL处理带点的参数
- javaEE websocket
- 实现id来实现换皮肤
- 五大算法一:分治算法
- Android笔记 xml补间动画
- C++文件操作详解(ifstream、ofstream、fstream)
- 成为Java高手的25个学习要点
- BZOJ3362 [Usaco2004 Feb]Navigation Nightmare 导航噩梦