分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

JFinal Web开发学习(五)注册界面和后端验证

发布时间:2023-09-06 02:30责任编辑:胡小海关键词:Web后端

效果:

直接点击注册后 :

后端验证是可靠地,前端js验证是不可靠的。只需要在浏览器删除js验证代码即可突破js验证。 
1.注册界面 
在WebRoot下新建regist.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ page isELIgnored="false" %><!DOCTYPE html><html><head><meta charset="UTF-8"><title>注册</title></head><body> ???<form action="regist" method="post"> ???????用户名:<input name="reg.name" type="text" >${nameErrMsg}<br> ???????密码:&nbsp;<input name="reg.pwd" type="password">${pwdErrMsg}<br> ???????验证码:<input name="reg.yzm" type="text"><img src="/yzm"><br>${yzmErrMsg} ???????<button type="submit">注册</button> ???</form></body></html>

使用原生html书写,可根据自己的需求美化,使用各种优秀前端框架. 
2.写后端验证 
在validate包中新建RegistValidator继承JFinal的Validator 
在重写的validate方法中加入自己需要验证的字段

package cn.pangpython.validate;import com.jfinal.core.Controller;import com.jfinal.validate.Validator;/** * @author pangPython * ?注册的验证器 */public class RegistValidator extends Validator { ???@Override ???protected void handleError(Controller arg0) { ???????// TODO Auto-generated method stub ???} ???@Override ???protected void validate(Controller arg0) { ???????validateRequired("reg.name", "nameErrMsg", "请填写用户名!"); ???????validateRequired("reg.pwd", "pwdErrMsg", "请填写密码!"); ???????validateRequired("reg.yzm", "yzmErrMsg", "请填写验证码!"); ???}}

3.新建公共控制器CommonController继承JFinal的Controller 
在里边写一些前后端通用的方法,这里先写验证码生成

package cn.pangpython.controller;import com.jfinal.core.ActionKey;import com.jfinal.core.Controller;import com.jfinal.render.CaptchaRender;/** * @author pangPython * ?通用控制器,写一些通用的方法,验证码生成等 */public class CommonController extends Controller { ???????@ActionKey("/yzm") ???????public void verifycode(){ ???????????render(new CaptchaRender()); ???????}}

Jfinal的验证码生成很简单,就这么几个单词….验证码校验是更简单(在JFinal2.2中) 
要把这个控制器在路由中绑定一个url 
FrontRoutes.java

package cn.pangpython.routes;import com.jfinal.config.Routes;import cn.pangpython.controller.CommonController;import cn.pangpython.controller.IndexController;import cn.pangpython.controller.UserController;/** * @author pangPython * 前台路由 */public class FrontRoutes extends Routes { ???@Override ???public void config() { ???????add("/",IndexController.class); ???????add("/user",UserController.class); ???????add("/common",CommonController.class); ???}}

4.在首页控制器中写注册方法 
IndexController.java

package cn.pangpython.controller;import com.jfinal.aop.Before;import com.jfinal.core.Controller;import cn.pangpython.validate.RegistValidator;/** * @author pangPython * 主页控制器 */public class IndexController extends Controller { ???public void index(){ ???????renderText("index"); ???} ???//渲染注册页面 ???public void regpage(){ ???????render("regist.html"); ???} ???//处理注册 ???@Before(RegistValidator.class) ???public void regist(){ ???????renderText("注册成功!"); ???}}

5.在MyJFinalConfig中的configConstant(Constants me)函数中添加映射视图:

 ???@Override ???public void configConstant(Constants me) { ???????// 开发模式 ???????me.setDevMode(true); ???????//这里可以通过配置文件来读取配置参数,更灵活 ???????????????//指定视图 ???????me.setViewType(ViewType.JSP); ???}

具体功能实现后面系列博客中会继续更新…

: )

参考博客:https://blog.csdn.net/u012995856/article/details/52781479

JFinal Web开发学习(五)注册界面和后端验证

原文地址:https://www.cnblogs.com/wyhluckdog/p/10294072.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved