登录注册的实现流程
本节课,讲的是如何用jfinal实现简单的登录注册模块。先说一下,我这里的bug,同一个用户同密码可以注册多次,就是数据库会出现多条主键userid不同,但账号密码相同的记录;正常的数据库不是这样的,而且前端是会显示该用户已注册的。由于时间关系,我就没有把demo完善。
我的登录注册的逻辑如下:
页面分为三种:
A:登录页面;B:登录以后跳转到固定的页面;C:非A和B的其他页面。
实现这个项目的步骤:
1、想清楚自己实现什么功能,我的前端页面是什么样的,需要建立什么表,需要写什么方法。前端–>数据库–>Java后台。
2、有了思路后,先建表,再建立maven项目,进行基本的配置。
3、想清楚后台需要给前端哪些接口?把后台的接口写完。
4、写前端页面。(小编这里的前端页面是抄的,可能有点丑。)
建表,再建立maven项目,进行基本的配置
数据库配置文件:jdbc.properties
jdbc_driverClassName=com.mysql.jdbc.Driver
jdbc_url=jdbc:mysql://localhost:3306/hello?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull
jdbc_username=root
jdbc_password=
devMode=true
建立hello数据库,打开Navicat for MySQL的命令行,使用这个数据库,然后建表。
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`userid` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(255) NOT NULL,
`password` varchar(255) NOT NULL,
PRIMARY KEY (`userid`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
建立maven项目及所需要的包、Java文件
配置之前的jdbc.properties
配置configuration.java
package com.hello.config;
import com.hello.Interceptor.ExceptionIntoLogInterceptor;
import com.hello.Model._MappingKit;
import com.hello.Route.WebRoute;
import com.jfinal.config.Constants;
import com.jfinal.config.Handlers;
import com.jfinal.config.Interceptors;
import com.jfinal.config.JFinalConfig;
import com.jfinal.config.Plugins;
import com.jfinal.config.Routes;
import com.jfinal.json.JacksonFactory;
import com.jfinal.kit.PathKit;
import com.jfinal.kit.PropKit;
import com.jfinal.log.Log4jLogFactory;
import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
import com.jfinal.plugin.druid.DruidPlugin;
import com.jfinal.template.Engine;
public class configuration extends JFinalConfig {
@Override
public void configConstant(Constants me) {
// PropKit 读取工具,use方法可以获取到指定文件
PropKit.use("com/hello/config/jdbc.properties");
// 是否开启开发者模式
me.setDevMode(PropKit.getBoolean("devMode"));
// 设置字符集
me.setEncoding("UTF-8");
// 设置Json格式
me.setJsonFactory(new JacksonFactory());
me.setJsonDatePattern("yyyy-MM-dd");
// 设置上传下载的默认路径
me.setBaseUploadPath(PathKit.getWebRootPath() + "/upload");
// 这个是设置日志工厂