JFinal框架——简单验证码

 JFinal很强大,验证码的实现也很简单,在此记录一下。

  • HTML
1 <form action="/jfinal_verification/user/login1" method="post">
2     用户名:<input type="text" name="name"/></br> </br>
3     密码:&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="password" name="password"/> </br>
4     <!-- 设置name为code 用于后台接收验证码并进行校验-->
5     验证码:<input type="text" name="code"/>
6     <!-- 获取验证码并设置点击事件,点击之后获取新的验证码 -->
7     <img  src="/jfinal_verification/user/code" onclick="this.src=‘/jfinal_verification/user/code?x=‘+Math.random()"></br></br>
8     <button type="submit">登陆</button>
9 </form> 
  • JAVA

  JFinal 2.0

   生成验证码

1 public void code() {
2       CaptchaRender img = new CaptchaRender(RANDOM_CODE_KEY);
3       render(img);
4 }

   验证正确与否

 1 private static final String RANDOM_CODE_KEY = "1";
 2 public void login1(){
 3     String inputRandomCode = getPara("inputRandomCode");
 4     boolean loginSuccess = CaptchaRender.validate(this, inputRandomCode.toUpperCase(), RANDOM_CODE_KEY);
 5     if (loginSuccess) {
 6          renderText("successful");
 7     }else{
 8          renderText("failed");
 9     }
10}

   JFinal 2.2

     生成验证码     

1 public void code(){
2         renderCaptcha();
3 } 

    验证正确与否     

 1 private static final String FORM_ITEM_CODE = "inputRandomCode";
 2
 3 public void login1(){
 4     String result = "";
 5     //验证验证码
 6     if(validateCaptcha(FORM_ITEM_CODE)){
 7         result = "验证成功";
 8     }
 9     else{
10         result = "验证失败";
11     }
12     renderText(result);
13 } 
  • 点击刷新
1 onclick="this.src=‘/user/code?x=‘+Math.random()">
  • 注意
  1. 两种方法的jar包不同,第二种方法的jar包必须用 jfinal-2.2 及以上,低版本不包含renderCaptcha();
  2. 若使用jetty,则需要导入jetty-server-8.1.8.jar;若使用Tomcat,则不能加入这个jar包,否则会冲突,并且在action或者src中需要加上你的项目名称,不能直接写方法名。
  • 效果图

   

  

时间: 2024-10-14 07:50:38

JFinal框架——简单验证码的相关文章

Jfinal框架是什么框架?适用于什么项目呢?

jfinal 基于spring MVC研发的框架,操作简单.节省代码,适用于所有web项目.适合中小型项目开发.10分钟写出一个页面的增删改查.目前所在公司就用jfinal开发.app,服务端也可以.是Java 语言的极速 web 开发框架,其核心设计目标是开发迅速.代码量少.学习简单.功能强大.轻量级.易扩展.Restful.在拥有Java语言所有优势的同时再拥有ruby.python等动态语言的开发效率. 系统架构 JFinal 采用微内核全方位扩展架构,全方位是指其扩展方式在空间上的表现形

使用JFinal框架中Validator

Validator是JFinal框架中的校验组件,在Validator类中提供了我们常用的校验方法,而Validator本身实现了Interceptor接口,所以Validator也相当于一个拦截器,具体使用如下: 比如登录时检验用户名和密码是否为空,LoginValidator类 package com.tenghu.core.validator; import com.jfinal.core.Controller; import com.jfinal.validate.Validator;

jfinal框架教程-学习笔记(二)

上一节介绍了jfinal框架的简单搭建,这节通过一个小例子了解jfinal的结构和特点 先上图 1.建数据库(我用的是oracle数据库,其他的相对也差不多) -- Create table create table CLASSES ( classesid NUMBER not null, classesname VARCHAR2(20), classesaddress VARCHAR2(50) ); -- Create table create table STUDENT ( studenti

验证码识别与生成类API调用的代码示例合集:六位图片验证码生成、四位图片验证码生成、简单验证码识别等

以下示例代码适用于 www.apishop.net 网站下的API,使用本文提及的接口调用代码示例前,您需要先申请相应的API服务. 六位图片验证码生成:包括纯数字.小写字母.大写字母.大小写混合.数字+小写.数字+大写.数字+大小写等情况. 四位图片验证码生成:包括纯数字.小写字母.大写字母.大小写混合.数字+小写.数字+大写.数字+大小写等情况. 简单验证码识别:验证码类型 : 数字+字母, 纯英文, 纯数字,计算题 英数_验证码识别:纯数字,纯英文,数字+英文 中英数_验证码识别:英文.数

使用Vue+JFinal框架搭建前后端分离系统

前后端分离作为Web开发的一种方式,现在应用越来越广泛.前端一般比较流行Vue.js框架,后端框架比较多,网上有很多Vue+SpringMVC前后端分离的demo,但是Vue+JFinal框架貌似没有搜到,本文基于Vue.js和JFinal框架,给出了搭建了一个前后端分离项目的简单例子. 第一步:maven搭建后端JFinal部分 1.用maven新建web项目,项目名vue-jfinal 2.添加JFinal框架和jetty容器等依赖 <dependency> <groupId>

php基础之gd图像生成、缩放、logo水印和简单验证码实现

php基础之gd图像生成.缩放.logo水印和简单验证码实现 阅读目录 图像生成 缩略图 水印生成 验证码 gd 库是php最常用的图片处理库之一(另外一个是imagemagick),可以生成图片.验证码.水印.缩略图等等.要使用gd库首先需要开启gd库扩 展,windows系统下需要在php.ini中将extension=php_gd2.dll 前边的分号去掉然后重启web服务器,linux系统下一般在编译php时已经开启gd库扩展,要是没有开启gd库扩展则需要先编译安装freetype ,j

JFinal框架操作oracle数据库

JFinal框架操作oracle数据库,需要在configPlugin()方法中配置链接oracle数据库的相关配置 配置JFinal数据库操作插件,configPlugin方法 这里我加载jdbc.properties配置文件实在configConstant加载的 @Override public void configConstant(Constants me) { loadPropertyFile("jdbc.properties");//加载配置文件 me.setDevMode

HighCharts绘制JS折线图(后台传数据给前台基于JFinal框架)

/*****************************Controller(基于JFinal框架)**************/ package com.zzu.controller;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.List;import org.jfree.chart.ChartFactory;import org.jfree.chart.ChartUtilitie

MongoDB聚合运算之group和aggregate聚集框架简单聚合(10)

聚合运算之group 语法: db.collection.group( { key:{key1:1,key2:1}, cond:{}, reduce: function(curr,result) { }, initial:{}, finalize:function() { } } ) key: 分组字段 cond:查询条件 reduce:聚合函数 initial:初始化 finalize:统计一组后的回调函数 #查询每个栏目下的商品数量 db.goods.group( { key:{cat_id