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(表名),主键,record
Db.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学习(一)相关推荐

  1. jFinal学习笔记

    基于JFinal的web项目需要创建一个继承自JFinalConfig类的子类,该类用于对整个web项目进行配置. 一.    JFinalConfig子类需要实现六个抽象方法,如下所示: publi ...

  2. 代码应用jFinal+AngularJs未来javaEE开发的趋势——程序员的福音

    JFinal概述 JFinal 是基于Java 语言的极速 web 开辟框架,其核心设计目标是开辟敏捷.代码量少.学习简略.功能强大.轻量级.易扩展.Restful.在拥有Java语言全体优势的同时再 ...

  3. php封装一个用户类,PHP封装的一个单例模式Mysql操作类

    掌握满足单例模式的必要条件----三私一公. ①私有的构造方法-为了防止在类外使用new关键字实例化对象. ②私有的成员属性-为了防止在类外引入这个存放对象的属性. ③私有的克隆方法-为了防止在类外通 ...

  4. jfinal框架教程-学习笔记(一)

    JFinal  是基于 Java  语言的极速  WEB  + ORM  开发框架,其核心设计目标是开发迅速.代码量少.学习简单.功能强大.轻量级.易扩展.Restful.在拥有Java 语言所有优势 ...

  5. MySQL jfinal 生成数据_JFinal Web开发学习(四)数据库连接与自动生成model

    1.新建数据库jfinal_test,user表 /* Navicat MySQL Data Transfer Source Server : . Source Server Version :505 ...

  6. JFinal之学习资源

    JFinal官网: http://www.jfinal.com/ JFinal在线API: http://tool.oschina.net/apidocs/apidoc?api=jfinal JFin ...

  7. JFinal Web开发学习(一)开启HelloWorld

    初次接触JFinal框架,接触过MVC思想,接触过Spring.  JFinal官网:  http://www.jfinal.com/  之前很嫌弃JavaWeb开发,主要原因是繁琐的xml配置.  ...

  8. 从html到jfinal的页面跳转页面,JFinal Weixin 学习笔记(5)-- 微信页面跳转

    项目结构 项目结构 WeixinApiController WeixinApiController 继承 ApiController ,所有使用 Api 的 controller 都需要继承此类. 目 ...

  9. html怎么调用微信api接口,JFinal Weixin 学习笔记(6)-- 获取微信接口调用凭据

    利用 AccessTokenApi 获取 access_token access_token 是公众号的全局唯一票据,公众号调用各接口时都需使用 access_token. jfinal-wein 提 ...

最新文章

  1. c语言删除s字符串中所有子串t,从串s中删除所有和串t相同的子串的算法
  2. JavaScript + Tampermonkey——易班优课YOOC课群在线测试自动答题解决方案(十七)复合型解决方案油猴脚本
  3. CSS+jQuery/JavaScript图片切换播放
  4. Winform字体统一方案
  5. 哨兵模式原理_Redis哨兵、复制、集群的设计原理,以及区别
  6. PHP读取创建txt,doc,xls,pdf类型文件
  7. 太厉害了!3小时34分!53岁院士施一公完成人生首马
  8. 简析多种编码方式(Hex, Base64, UTF-8)
  9. 电脑大小写怎么切换_电脑键盘上的三个灯都起什么作用
  10. abaqus 帮助文档 Substructure(子结构) 理论
  11. MATLAB视频与图片之间的相互转换
  12. Davids阅读笔记:《如何阅读一本书》
  13. super关键字详解
  14. 13丨性能测试场景:如何进行场景设计
  15. 装修主要的污染源有哪些?
  16. 移动端的兼容问题(ios和安卓)
  17. 局域网电脑打印机显示未连接到服务器,win7局域网连接打印机显示本地打印后台处理程序服务没有运行...
  18. 罗永浩曾经深刻地改变过这个世界
  19. Quartz 实现画图片、写文字、画线、椭圆、矩形、棱形等 二
  20. 判断给出的秒数是几天几小时几分几秒

热门文章

  1. windows服务器系统监控
  2. WinSock控件及WinSockAPI
  3. HCIA——TCP及其三次握手,问题
  4. 如何生成token,是使用token
  5. 干货!如何用Node.js实现一个精巧的P2P网络
  6. viper读取配置文件
  7. 【泛函分析】Riemann-Stieltjes 积分
  8. 网络舆情数据分析系统技术方案
  9. 2023湖北大学考研分析
  10. live555 android,Android之live555构建RTSP Server