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(){

    }
时间: 2024-10-27 05:59:55

jfinal框架的初级学习的相关文章

Jfinal框架学习系列之二(JSP)

API里面说到jfinal框架支持JSP视图类型等多种视图类型,然后自己用的也是jsp,对jsp稍微熟悉一点,然后就想看看在jfinal中怎么使用jsp.这里实现一个小小的demo例子,还是基本的增删改查功能.分别使用Mysql和Oracle两种数据库..... 数据库脚本: 1.Mysql CREATE DATABASE jfinal_demo; USE jfinal_demo; CREATE TABLE `blog` ( `id` int(11) NOT NULL auto_incremen

jfinal框架学习参考资料汇总

jfinal框架教程-学习笔记(一) http://blog.csdn.net/zb0567/article/details/21083115 jfinal框架教程-学习笔记(二) http://blog.csdn.net/zb0567/article/details/21083021

jFinal 2.2入门学习之一:搭建框架输出helloword

官方推荐用Eclipse IDE for Java EE Developers 做为开发环境 1.创建 Dynamic Web Project 2.修改 Default Output Folder,推荐输入 WebRoot\WEB-INF\classes 3.修改 Content directory,推荐输入 WebRoot 4.去官网下载最新的jfinal框架(我这是JFinal-2.2) 把jetty-server-8.1.8.jar jfinal-2.2-bin.jar和jfinal-2.

jfinal框架教程-学习笔记(二)

上一节介绍了jfinal框架的简单搭建,这节通过一个小例子了解jfinal的结构和特点 先上图 1.建数据库(我用的是oracle数据库,其他的相对也差不多) -- Create table create table CLASSES ( classesid NUMBER not null, classesname VARCHAR2(20), classesaddress VARCHAR2(50) ); -- Create table create table STUDENT ( studenti

Jfinal框架是什么框架?适用于什么项目呢?

jfinal 基于spring MVC研发的框架,操作简单.节省代码,适用于所有web项目.适合中小型项目开发.10分钟写出一个页面的增删改查.目前所在公司就用jfinal开发.app,服务端也可以.是Java 语言的极速 web 开发框架,其核心设计目标是开发迅速.代码量少.学习简单.功能强大.轻量级.易扩展.Restful.在拥有Java语言所有优势的同时再拥有ruby.python等动态语言的开发效率. 系统架构 JFinal 采用微内核全方位扩展架构,全方位是指其扩展方式在空间上的表现形

JFinal框架操作oracle数据库

JFinal框架操作oracle数据库,需要在configPlugin()方法中配置链接oracle数据库的相关配置 配置JFinal数据库操作插件,configPlugin方法 这里我加载jdbc.properties配置文件实在configConstant加载的 @Override public void configConstant(Constants me) { loadPropertyFile("jdbc.properties");//加载配置文件 me.setDevMode

JavaScript模块加载框架sea.js 学习一

简单总结sea.js 学习 文件目录结构 /sea/sea.js      下载地址  http://seajs.org/docs/#downloads /sea/jquery-sea.js   下载地址 http://jquery.com/download/ /sea/sea_config.js /sea/home.jsdata.js /sea/data.js 1.html页面代码文件 <style> .ch{height:200px;width:200px;background:#ccc;

HighCharts绘制JS折线图(后台传数据给前台基于JFinal框架)

/*****************************Controller(基于JFinal框架)**************/ package com.zzu.controller;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.List;import org.jfree.chart.ChartFactory;import org.jfree.chart.ChartUtilitie

Node.js笔记(0003)---Express框架Router模块学习笔记

这段时间一直有在看Express框架的API,最近刚看到Router,以下是我认为需要注意的地方: Router模块中有一个param方法,刚开始看得有点模糊,官网大概是这么描述的: Map logic to route parameters. 大概意思就是路由参数的映射逻辑 这个可能一时半会也不明白其作用,尤其是不知道get和param的执行顺序 再看看源码里面的介绍: Map the given param placeholder `name`(s) to the given callbac