zoukankan      html  css  js  c++  java
  • Java急速WEB+ORM框架(JFinal)

    版权声明:本文为博主原创文章,未经博主同意不得转载。

    https://blog.csdn.net/u011109042/article/details/36232679

    JFinal框架是基于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
    package com.tenghu.core.config;
    
    import com.jfinal.config.Constants;
    import com.jfinal.config.Handlers;
    import com.jfinal.config.Interceptors;
    import com.jfinal.config.JFinalConfig;
    import com.jfinal.config.Plugins;
    import com.jfinal.config.Routes;
    import com.tenghu.core.controller.LoginController;
    
    public class THConfig extends JFinalConfig{
    
    	/**
    	 * 常量配置
    	 */
    	@Override
    	public void configConstant(Constants me) {
    		me.setDevMode(true);//设置开发模式
    	}
    	/**
    	 * 配置处理器
    	 */
    	@Override
    	public void configHandler(Handlers me) {
    		
    	}
    	/**
    	 * 配置拦截器
    	 */
    	@Override
    	public void configInterceptor(Interceptors me) {
    		
    	}
    	/**
    	 * 配置插件
    	 */
    	@Override
    	public void configPlugin(Plugins arg0) {
    		
    	}
    	/**
    	 * 配置路由
    	 */
    	@Override
    	public void configRoute(Routes me) {
    		me.add("/", LoginController.class);
    	}
    }
    

    配置web.xml
    <?

    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文件删除或移到其它文件夹
    package com.tenghu.core.controller;
    import com.jfinal.core.Controller;
    /**
     * 登陆控制器
     * @author Arvin
     *
     */
    public class LoginController extends Controller{
    	public void index(){
    		renderText("Hello JFinal");
    	}
    }
    
    部署项目。假设出现Hello JFinal这句话,则表示成功

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

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

    render的系列方法还有非常多,比方返回JSON,File,Javascript,Html等。

    简单的JFinal框架配置基本实现








  • 相关阅读:
    OO第三次阶段性总结
    OO第二次阶段性总结
    OO第一次阶段性总结
    【软工】提问回顾与个人总结
    【软工】结对编程作业
    【软工】第一次阅读作业
    【软工】第0次个人作业
    oo作业总结(四)
    OO作业总结(三)
    oo作业总结(二)
  • 原文地址:https://www.cnblogs.com/mqxnongmin/p/10926995.html
Copyright © 2011-2022 走看看