JFinal

Final框架是基于java语言的急速WEB+ORM框架,其设计核心是开发迅速,代码量少,学习简单,功能强大,轻量级,已扩展,Restful 。在拥有java语言所有优势的同时再拥有python,php等动态语言的开发效率,让你有足够多的时间去做其他的事。

JFinal有如下主要特点:

  • MVC架构,设计精巧,使用简单

  • 遵循COC原则,零配置,无xml

  • 独创Db + Record模式,灵活便利

  • ActiveRecord支持,使数据库开发极致快速

  • 自动加载修改后的java文件,开发过程中无需重启web server

  • AOP支持,拦截器配置灵活,功能强大

  • Plugin体系结构,扩展性强

  • 多视图支持,支持FreeMarker、JSP、Velocity

  • 强大的Validator后端校验功能

  • 功能齐全,拥有struts2的绝大部分功能

  • 体积小仅218K,且无第三方依赖

JFinal官网:http://www.jfinal.com/下载需要的资料

初步实现在界面输出Hello JFinal

实现步骤:
      1.创建核心配置类,该类继承与JFinalConfig类
      2.配置xml文件
      3.创建控制器类,该类继承与Controller类
      3.将项目部署到服务器,进行测试

核心配置类:THConfig
  1. package com.tenghu.core.config;  
  2.   
  3. import com.jfinal.config.Constants;  
  4. import com.jfinal.config.Handlers;  
  5. import com.jfinal.config.Interceptors;  
  6. import com.jfinal.config.JFinalConfig;  
  7. import com.jfinal.config.Plugins;  
  8. import com.jfinal.config.Routes;  
  9. import com.tenghu.core.controller.LoginController;  
  10.   
  11. public class THConfig extends JFinalConfig{  
  12.   
  13.     /**  
  14.      * 常量配置  
  15.      */  
  16.     @Override  
  17.     public void configConstant(Constants me) {  
  18.         me.setDevMode(true);//设置开发模式  
  19.     }  
  20.     /**  
  21.      * 配置处理器  
  22.      */  
  23.     @Override  
  24.     public void configHandler(Handlers me) {  
  25.           
  26.     }  
  27.     /**  
  28.      * 配置拦截器  
  29.      */  
  30.     @Override  
  31.     public void configInterceptor(Interceptors me) {  
  32.           
  33.     }  
  34.     /**  
  35.      * 配置插件  
  36.      */  
  37.     @Override  
  38.     public void configPlugin(Plugins arg0) {  
  39.           
  40.     }  
  41.     /**  
  42.      * 配置路由  
  43.      */  
  44.     @Override  
  45.     public void configRoute(Routes me) {  
  46.         me.add("/", LoginController.class);  
  47.     }  
  48. }  

配置web.xml
  <pre name="code" class="html">  <?xml version="1.0" encoding="UTF-8"?>  
    <web-app version="2.5"   
        xmlns="http://java.sun.com/xml/ns/javaee"   
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   
        http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  
      <display-name></display-name>   
      <filter>  
        <filter-name>JFinal</filter-name>  
        <filter-class>com.jfinal.core.JFinalFilter</filter-class>  
        <init-param>  
            <param-name>configClass</param-name>  
            <param-value>com.tenghu.core.config.THConfig</param-value>  
        </init-param>  
      </filter>  
      <filter-mapping>  
        <filter-name>JFinal</filter-name>  
        <url-pattern>/</url-pattern>  
      </filter-mapping>  
    </web-app>  

 
  

创建控制器LoginController,该类的作用是对访问的路径进行过滤,根据配置的请求路径,进入对应的控制器,如上面再路由配置方法中配置的是“/”该路径,访问http://127.0.0.1/JFinalTest,则会进入该控制器,默认会进入index()方法中,如果控制器中有其他的方法,需要访问该方法,如其他方法为view() ,那么请求路径为http://127.0.0.1/JFinalTest/view,这里主意一点,使用工具创建的web项目,默认都会有一个index.jsp文件,如果有该文件,则访问根路径,会直接进入到index.jsp页面,所以如果需要配置为根路径,那么需要将index.jsp文件删除或移到其他目录
  1. package com.tenghu.core.controller;  
  2. import com.jfinal.core.Controller;  
  3. /**  
  4.  * 登陆控制器  
  5.  * @author Arvin  
  6.  *  
  7.  */  
  8. public class LoginController extends Controller{  
  9.     public void index(){  
  10.         renderText("Hello JFinal");  
  11.     }  
  12. }  
部署项目,如果出现Hello JFinal这句话,则表示成功

这里的这句话是直接将文本输出到界面,如果需要返回的是html页面,那么需要添加freemarker框架的jar包,使用render()方法
  1. render("admin/index.html");  
如果返回的页面是jsp页面,那么需要在核心配置类中的常量配置方法中(configConstant())中配置视图类型
  1. /**  
  2.      * 常量配置  
  3.      */  
  4.     @Override  
  5.     public void configConstant(Constants me) {  
  6.         me.setDevMode(true);//设置开发模式  
  7.         me.setViewType(ViewType.JSP);//配置视图类型  
  8.     }  

在控制器中返回jsp文件
  1. render("admin/index.jsp");  
如果不配置ViewType,那么jsp文件则会以静态模板显示到界面,因为JFinal框架默认的就是静态模板,所以如果要返回jsp页面,那么久需要配置视图类型

render的系列方法还有很多,比如返回JSON,File,Javascript,Html等。
简单的JFinal框架配置基本实现

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值