Jfinal学习(一)
来源:互联网 发布:java边界布局 编辑:程序博客网 时间:2024/06/05 10:32
Jfinal学习(一)
一次偶然机会让我搜索到Jfinal,这是我学习的第一个Java框架
第一个? 可能会觉得奇怪,没办法我的学习路线和大部分人不一样
Jfinal官方是这么说的:
JFinal 是基于 Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java语言所有优势的同时再拥有ruby、python、php等动态语言的开发效率!为您节约更多时间,去陪恋人、家人和朋友 :)
学了两天,我决定开始做个小项目。:(
项目开始的第一天,我就遇到了不少的问题。看视频学习的时候没怎么认真的去听。也有可能是视频中的老师讲的节奏太快,导致在实际使用的时候十分吃力。
路由
在考虑项目如何去部署的时候,我就在想路由的问题。
比如说Controller -> View 的路径设置,还有View 的css js jq…等静态文件的路径问题
波总:不推荐使用自动路由的
由于在ThinkPHP yii中不需要配置路由,这让我很是头疼 :(
public void configRoute(Routes me) { me.add(new ShopRoute()); //前端路由 me.add(new AdminRoute()); //后台路由}
public void config() { setBaseViewPath("/front"); //设置视图路径 add("/", IndexController.class,"/index"); //路径 访问localhost的页面}
路径
View中的css、js、jq、UI、image等文件路径的问题,不过幸好下载模板路径设置都还可以
都是
<link href="../AmazeUI-2.4.2/assets/css/admin.css" rel="stylesheet" type="text/css" />
路径都是 ../ 开头,复制到指定的视图路径基本正常
在Jfianl中需要在configEngine(视图引擎配置)中添加
public void configEngine(Engine me) { me.setBaseTemplatePath(PathKit.getWebRootPath());//视图路径\WebRoot }
有了这一项配置之后,修改 ../ 为 /,绝对路径比相对路径好系列 :)
<link href="/AmazeUI-2.4.2/assets/css/admin.css" rel="stylesheet" type="text/css" />
此时路径以/开头将变为绝对路径,”/” 指的是 “/WebRoot”目录
Db+Record
视频中也基本是照着Jfinal官方的jfinal-3.1-manual.pdf念的,所有那一段的视频我果断没再看了。
参考manual中的Demo,上手还是很快的
//参数依次是: Table Name(表名),主键名(可以多个),值Record user = Db.findById("shop_user","userid",2);//更新登录的时间,IP地址user = Db.findById("shop_user","userid",user.getBigInteger("userid")).set("logDate",new Date()).set("logIp",getRequest().getRemoteAddr());//执行更新,Table Name(表名),主键,recordDb.update("shop_user","userid",user);
登录 Session
首先要实现登录功能,用Session的路径还是有点小曲折的。
百度搜索出来的大多是3年前,4年前,5年前的资料。Jfianl更新到3.1了,那些资料几乎不能做为参考
在实现的路径出现了,设置Session后在Interceptor(拦截器)中无法获取Session的问题。
:( 都因为看了那些 “过气” 资料的原因
//将user存入到Session中 setSessionAttr("MemberSession",user);
//拦截器public class LoginInterceptor implements Interceptor{ public void intercept(Invocation inv) { Controller controller = inv.getController(); //获取控制器(控制层拦截) //通过控制器获取Session,之后判断是否为空 if(null != controller.getSessionAttr("MemberSession")){ System.out.println(controller.getSessionAttr("MemberSession")); inv.invoke(); }else{ controller.redirect("/login");//跳转到登录界面 } }}
由于没学过SSM框架,但是,从今天的实际使用上来看,Jfinal框架是比较方便的 :)
- jfinal学习笔记一
- jfinal学习笔记一
- JFinal学习笔记一
- Jfinal学习笔记一
- JFinal学习(一)
- Jfinal学习(一)
- Jfinal初始学习笔记一
- jfinal框架教程-学习笔记(一)
- jfinal框架教程-学习笔记(一)
- JFinal与tomcat学习笔记(一)
- jfinal框架教程-学习笔记(一)
- jfinal学习笔记一(配置部署)
- JFinal Web开发学习(一)开启HelloWorld
- jfinal框架教程-学习笔记(一)
- jfinal学习
- jFinal学习
- JFinal学习
- JFinal学习笔记(一) 在Tomcat下的JFinal环境配置
- 斗地主算法之叫地主/抢地主简单判定算法
- JavaWeb笔记
- Python3 高级特性
- Java三目运算符和逗号运算符
- 第四弹——CGI&FastCGI
- Jfinal学习(一)
- 属性没有多态
- 阻止jquery 的click事件冒泡
- 模仿mnist数据集制作自己的数据集
- JedisUtils工具类
- leetcode题目解析
- PHP 数组去重查询
- 浅析数据对齐
- latex 双栏+支持中英文字符输入+支持中英文目录 模板