zoukankan      html  css  js  c++  java
  • 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中需要加上你的项目名称,不能直接写方法名。
    • 效果图

       

      

  • 相关阅读:
    传入采购订单项目建交货单
    20190615 NACE关于采购订单的输出类型
    参照UB单创建DN并过账
    【S/4系列专栏】关于S/4你想知道的问题与答案
    数据结构(1)栈的自定义实现
    iOS开发之Todo List for Swift项目
    算法手记(2)Dijkstra双栈算术表达式求值算法
    HttpWebRequst中https的验证处理问题
    温故知新系列
    windows phone开发-windows azure mobile service使用入门
  • 原文地址:https://www.cnblogs.com/wwwjie/p/7145902.html
Copyright © 2011-2022 走看看