jfinal框架的初级学习
1.同strust2,使用jfinal框架首先需要在web.xml配置自己的过滤器(com.jfinal.core.JFinalFilter),并初始化JFinalConfig类。
<filter>
<filter-name>JFianl</filter-name>
<filter-class>com.jfinal.core.JFinalFilter</filter-class>
<init-param>
<param-name>configClass</param-name>
<param-value>com.xxxx.jfinal.config.MyJFinalConfig</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>JFianl</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
2.初始化的MyJFinalConfig类为JFinalConfig子类,MyJFinalConfig继承了父类的5个抽象方法:
① configConstant(Constants arg0) 该方法用于初始化系统部分全局参数,如设置是否为开发模式、编码格式、视图解析、URL参数分隔符、POST请求参数大小等等。
@Override
public void configConstant(Constants arg0) {
// TODO Auto-generated method stub
//设置开发者模式(控制台会输出相关数据),默认非开发者模式
arg0.setDevMode(true) ;
//设置编码格式
arg0.setEncoding("UTF-8") ;
//设置解析视图类型,默认为FREE_MARKER(即html页面),还有JSP、VELOCITY
arg0.setViewType(ViewType.JSP);
}
② configPlugin(Plugins arg0) 该方法用于配置JFinal需要用到的相关plugin,如缓存机制、数据库连接池、数据库操作等等plugin。
@Override
public void configPlugin(Plugins arg0) {
// TODO Auto-generated method stub
//数据库连接插件
C3p0Plugin cp = new C3p0Plugin("jdbc:oracle:thin:@10.0.65.22:1521:orcl", "scott", "xxxx", "oracle.jdbc.driver.OracleDriver") ;
arg0.add(cp) ;
//数据库访问插件
ActiveRecordPlugin arp = new ActiveRecordPlugin(cp) ;
arg0.add(arp) ;
// 配置Oracle方言
arp.setDialect(new OracleDialect());
//设置大小写不敏感
arp.setContainerFactory(new CaseInsensitiveContainerFactory(true)) ;
//添加model mapping
arp.addMapping("teacher", "T_ID", Teacher.class) ;
}
③ configRoute(Routes arg0) 该方法用于设置控制器Controller的请求映射路径和action中方法的视图部分路径
@Override
public void configRoute(Routes arg0) {
// TODO Auto-generated method stub
//配置controller及其所匹配的路径(相当于struts.xml中的namespace)
arg0.add("/test", MyJFinalController.class);
}
④ configHandler(Handlers arg0) 此方法用来配置JFinal的Handler,Handler可以接管所有 web 请求,并对应用拥有完全的控制权,可以很方便地实现更高层的功能性扩展。
⑤ configInterceptor(Interceptors arg0) 此方法用来配置 JFinal 的全局拦截器,全局拦截器将拦截所有 action 请求
3. jfinal的控制中心controller,继承了com.jfinal.core.Controller类,会根据页面请求执行相应方法。
① controller方法与请求映射方式
默认是请求路径与method名一致,如发请求 localhost:8080/jfinal/test/list ("/test"为该controller的namespace),则默认执行 MyJFinalController类的 list();如果直接发请求 localhost:8080/jfinal/test 则默认会执行MyJFinalController类的 index();
若使用@ActionKey()注解则会打破之前配置的请求路径映射,如下,此时再请求localhost:8080/jfinal/test/list 则会不会执行list(),@ActionKey("/list")会让之前的namespace无效,此时的正确访问路径为localhost:8080/jfinal/list。
@ActionKey("/list")
public void list(){
}
jfinal框架的初级学习的更多相关文章
- jfinal框架教程-学习笔记
jfinal框架教程-学习笔记 JFinal 是基于 Java 语言的极速 WEB + ORM 开发框架,其核心设计目标是开发迅速.代码量少.学习简单.功能强大.轻量级.易扩展.Restfu ...
- jFinal 2.2入门学习之一:搭建框架输出helloword
官方推荐用Eclipse IDE for Java EE Developers 做为开发环境 1.创建 Dynamic Web Project 2.修改 Default Output Folder,推 ...
- jfinal框架教程-学习笔记(二)
上一节介绍了jfinal框架的简单搭建,这节通过一个小例子了解jfinal的结构和特点 先上图 1.建数据库(我用的是oracle数据库,其他的相对也差不多) -- Create table crea ...
- jfinal框架新手使用之路及开发心得
从接触jfinal这个框架到现在差不多也有一个的时间了,因为之前接触的都是像spring ,springMVC,mybatis,struts2,hibernate这种传统,大多数公司都在用的这种框架. ...
- jfinal框架学习过程
刚刚学习jfinal,通过一天左右的时间大体上理解了这个框架的用法,我对他的理解是JFinal 是基于 Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速.代码量少.学习简单.功 ...
- Jfinal框架是什么框架?适用于什么项目呢?
Jfinal框架是什么框架?适用于什么项目呢? jfinal 基于spring MVC研发的框架,操作简单.节省代码,适用于所有web项目.适合中小型项目开发.10分钟写出一个页面的增删改查.目前所在 ...
- 不想用Spring全家桶?试试这个国产JFinal框架
前言 逃离北上广从广州回老家南宁,入职这家公司用的技术是JFinal,借此机会得以学习这个国产的MVC框架,经过一段时间的学习,基于之前的经验搭建一个通用项目jfinal-demo jfinal-de ...
- 使用JFinal框架中Validator
Validator是JFinal框架中的校验组件,在Validator类中提供了我们经常使用的校验方法,而Validator本身实现了Interceptor接口,所以Validator也相当于一个拦截 ...
- Python框架之Django学习
当前标签: Django Python框架之Django学习笔记(十四) 尛鱼 2014-10-12 13:55 阅读:173 评论:0 Python框架之Django学习笔记(十三) 尛 ...
随机推荐
- unity Transform.TransformPoint
正如unity api文档所说: Transforms position from local space to world space. 即Transform.TransformPoint是将局部坐 ...
- 客户端负载均衡:Ribbon
Ribbon是一个客户端的负载均衡器,可以提供很多HTTP和TCP的控制行为.Feign已经使用了Ribbon,所以如果你使用了@FeignClient,Riboon也同样被应用了. Ribbon核心 ...
- nginx中配置404错误页面的教程
什么是404页面如果网站出了问题,或者用户试图访问一个并不存在的页面时,此时服务器会返回代码为404的错误信息,此时对应页面就是404页面.404页面的默认内容和具体的服务器有关.如果后台用的是NGI ...
- C# xml可序列化多值枚举脚本
代码: using System; using System.Collections.Generic; using System.Xml; using System.Xml.Schema; using ...
- Tomcat Jboss Glassfish 三种常见web容器比较
一.缘由: 新公司平台是纯Java架构,有用到Java Web(JSP).Java 业务(EJB).Nginx..Websphere MQ.Mysql这样.大家知道java是跑在容器里的, 这里的业务 ...
- C++ 11 auto关键字
熟悉脚本语言的人都知道,很多脚本语言都引入了“类型自动推断”技术:比如Python,可以直接声明变量,在运行时进行类型检查.随着C++11标准的发布,C++语言也引入了类型自动推断的功能,这就是我们今 ...
- C#中通过Coded UI Test Web Page初体验(图文并茂,去繁就简!亲测通过哦~)
今天首次按照网上的步骤进行Coded UI测试,终于测试通过了,我这次进行的自动化测试是:打开浏览器,输入www.baidu.com,然后输入lty,然后点击页面中第一条数据的左侧位置(为了能获取到T ...
- MFC和GTK的区别
关键技术 http://blog.csdn.net/master_max/article/details/1540204 MFC和GTK的区别?? 1. 两者都是基于面向对象设计的.尽管MFC是用C+ ...
- javascript-删除节点
任务目的: 每点击一下按钮删除一个标签. 掌握到了: 这里是主要学习到了parentNote以及removeChild两个DOM属性. parentNote:parent英译为父亲,Note英译为节点 ...
- Matlab如何令三维抽象数据可视化的显示出来
Mathworks File Exchange频道近期更新了一个小函数.能够将三维数据矩阵相应的函数u=f(x,y,z)可视化的显示出来. 对我们这些常和数据分析问题打交道的人爱说.还是有点參考价值的 ...