Java急速WEB+ORM框架(JFinal)

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框架配置基本实现

Java急速WEB+ORM框架(JFinal)

时间: 2024-11-06 10:03:04

Java急速WEB+ORM框架(JFinal)的相关文章

java工程优化——ORM框架查询优化原理

众所周知,当下的流行的企业级架构中,ORM一直是最基础的部分,在架构设计的底层,对逻辑层提供面向对象的操作支持,而事实总是和我们预想的有所偏差,ORM在提供了较好的操作体验时,也流失了一部分原生SQL的灵活性与高效性,当然,这个问题不影响我们使用ORM框架,但是却阻碍了我们网站流量的提升,尤其是在企业级的多关系复杂查询方面,性能瓶颈是不得不提的部分! 针对此问题,大多数的ORM框架提供一个折中的解决方案,就是在查询语句中,构造一个对象,可以是一个Entity,也可以是Map等,这样的方案,很大程

Weed3 for java 新的微型ORM框架

Weed3,微型ORM框架(支持:java sql,xml sql,annotation sql:存储过程:事务:缓存:监听:等...) 05年时开发了第一代: 08年时开发了第二代,那时候进入互联网公司,对性能有了全新的认识: 14年时开发了第三代.因为不喜欢滥用反射,不喜欢有很多配置,所以一直在执着的没放弃. 前两代,都是在.net开发的:第三代,重点放在了java上.应该算是个功能全面且最小的ORM框架,无其它依赖,仅0.1mb.对外的接口也不多,主要由DbContext上的四个接口发起所

开发大型项目必备 98%公司都在用的十佳 Java Web 应用框架

众所周知,工欲善其事,必先利其器.选择一个好的 Web 应用框架就像一把称手的兵器,可以助大家披荆斩棘. 今天就为大家整理了十佳 Java Web 应用框架,并简单讨论一下它们的优缺点. 第一,大名鼎鼎的Spring MVC框架.Spring MVC 框架堪称是一个教科书式的 MVC (模型Model.视图View和控制器Controller)框架,严格组照 MVC 模式要求进行分层设计.经过多年的发展,Spring MVC 已经发展成了一个 Web 应用程序的全能架构. 易用性方面, Spri

基于Java Web SSH框架的网上书店

获取项目源文件,技术交流与指导联系Q:1225467431 摘   要 随着互联网技术的发展,网上购物越来越流行,而网上书店更是逐渐受到越来越多的人关注,不用涉及交通.不用到书店翻阅.即可看到全国各地的书籍价格.更加全面地搜索自己喜欢的书籍.需要的书籍.通过网络销售系统的平台,商家将拥有更大的市场,能更加及时快速地得到用户对于商品的反响,可以随时调整销售策略,提高商家的市场竞争力.对于消费者也提供了方便,消费者可以不受时间和地域的限制进行购物,并且可以获取更多信息.. 本文阐述了如何构建基于B/

为什么做java的web开发我们会使用struts2,springMVC和spring这样的框架?

今年我一直在思考web开发里的前后端分离的问题,到了现在也颇有点心得了,随着这个问题的深入,再加以现在公司很多web项目的控制层的技术框架 由struts2迁移到springMVC,我突然有了一个新的疑问无法得到正确的解释,为什么我们现在做java的web开发,会选择struts2或 者springMVC这样的框架,而不是使用servlet加jsp这样的技术呢?特别是现在我们web的前端页面都是使用velocity这样的模板语 言进行开发,抛弃了jsp,这样的选择又会给我们java的web开发带

JAVA开发Web Service几种框架介绍

在讲Web Service开发服务时,需要介绍一个目前开发Web Service的几个框架,分别为Axis,axis2,Xfire,CXF以及JWS(也就是前面所述的JAX-WS,这是Java6发布所提供的对Web Service服务的一种实现.)前面几项都为开源项目,而其中又以axis2与cxf所最为常用,Axis与XFire已随着技术不断的更替慢慢落幕,而目前也只有axis2和cxf官方有更新,Axis与XFire都已不再更新. 下面就分别介绍下这几个框架之间的区别,以便大家进行更好的选择:

基于java注解实现自己的orm框架

ORM即Object Relation Mapping,Object就是对象,Relation就是关系数据库,Mapping映射,就是说Java中的对象和关系数据库中的表存在一种对应关系. 现在常见的ORM框架比如Hibernate和mybatis,都是采用了ORM的方式,基本原则就是类-表(Table).属性-列(Column)这样的对应,所以一个对象就能表示数据表中的一行数据啦. 本文转自http://m.blog.csdn.net/woshisangsang/article/details

自己写ORM框架 DBUtils_DG Java(C#的写在链接里)

ORM框架想必大家都比较熟知了,即对象关系映射(英语:Object Relation Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换.从效果上说,它其实是创建了一个可在编程语言里使用的“虚拟对象数据库”. 当你开发一个应用程序的时候(不使用O/R MAPPING),你可能会写不少数据访问层的代码,用来从数据库保存,删除,读取对象信息,等等. 现在流行的ORM框架有: JAVA系列:APACHE OJB,C

Java的web开发用什么框架好

在做Java的web开发时,不同的公司,不同的程序员可能都会采用不同的框架,使用不同的框架有什么区别,又有哪些好处呢?今天武汉java培训专家带大家和大咖一起来学习一下其中的要领:今年我一直在思考web开发里的前后端分离的问题,到了现在也颇有点心得了,随着这个问题的深入,再加以现在公司很多web项目的控制层的技术框架由struts2迁移到springMVC,我突然有了一个新的疑问无法得到正确的解释,为什么我们现在做Java的web开发,会选择struts2或者springMVC这样的框架,而不是