刚刚学习jfinal,通过一天左右的时间大体上理解了这个框架的用法,我对他的理解是JFinal 是基于 Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java语言所有优势的同时再拥有ruby、python、php等动态语言的。

  下面介绍下这个东西的使用方式:

  首先声明下我是用的工具(eclipse),之前我一直使用的IDEA,这是新公司的需求,第一步我们需要创建一个 Web 下面的 Dynamic Web Project类型项目,点击下一步填上基本信息,注意!!!Target runtime这个选项一定要选择<None>,点击下一步,修改Default Ouput Folder选项栏,推荐输入WebRoot\WEB-INF\classes,需要注意的是此处的Default out folder 必须要与 WebRoot\WEB-INF\classes 目录完全一致才可以使用JFinal 集成的 Jetty 来启动项目(也就是说jfinal框架写出的程序可以不需要Tomcat这样的服务器,本身的服务器就可以运行),点击下一步 修改Content directory ,推荐输入WebRoot,这里输入的值就是上一部中的根目录( WebRoot\WEB-INF\classes),之后点击Finish,这样项目就建成了。

  接下来需要下载jfinal的文件,(下载地址:https://download.csdn.net/download/angelic111/9711201),下载完成后,将 jfinal-xxx.jar 与 jetty-server-8.1.8.jar拷贝至刚建好的项目目录WEB-INF\lib下即可。这里要注意jetty-server-8.1.8.jar是开发时使用的运行环境,生产环境不需要此文件。

  接下来找到web.xml这个文件,需要在里面添加如下内容:

    

<filter>

      <filter-name>jfinal</filter-name>

      <filter-class>com.jfinal.core.JFinalFilter</filter-class>

      <init-param>

        <param-name>configClass</param-name>

        <param-value>demo.DemoConfig</param-value>

      </init-param>

    </filter>

    <filter-mapping>

      <filter-name>jfinal</filter-name>

      <url-pattern>/*</url-pattern>

    </filter-mapping>

之后找到项目中src目录下创建demo包,在demo包下创建DemoConfig文件(主要文件),内容如下:

package demo;

import com.jfinal.config.*;

public class DemoConfig extends JFinalConfig {

  public void configConstant(Constants me) {
    me.setDevMode(ture);
  }   public void configRoute(Routes me) {
    me.add("/hello", HelloController.class);
  }   public void configPlugin(Plugins me) {}   public void configInterceptor(Interceptors me) {}   public void configHandler(Handlers me) {} }

注意DemoConfig.java文件所在的包以及自身文件名必须与web.xml中的param-value标签内的配置相一致(这里用的配置为demo.DemoConfig).

接下来在demo包下创建HelloController类文件,内容如下

package demo;

import com.jfinal.core.Controller;

public class HelloController extends Controller{

  public void index(){

    renderText("Hello JFinal World.");

  }

}

这样简单的首页就配置好了,下面启用项目:

找到运行键,在Eclipse中是一个绿色的三角形的符号,右击它找到ebug Configurations... 这个选项,点击他会弹出一个框,找到java Application这个选项右击并选择New新建启动项,在右侧的窗口中的Main class输入框中填写:com.jfinal.core.JFinal并点击Debug按钮启动项目(或者版本不一样的点击run)

  运行成功后可以打开浏览器在地址栏中输入:http://localhost/hello

  就可以在页面中查看输出内容Hello JFinal World 证明项目框架搭建完成。

是不是很简单呢,只需要不到两个小时就可以学会了。

jfinal框架学习过程的更多相关文章

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

    上一节介绍了jfinal框架的简单搭建,这节通过一个小例子了解jfinal的结构和特点 先上图 1.建数据库(我用的是oracle数据库,其他的相对也差不多) -- Create table crea ...

  2. jfinal框架教程-学习笔记

    jfinal框架教程-学习笔记 JFinal  是基于 Java  语言的极速  WEB  + ORM  开发框架,其核心设计目标是开发迅速.代码量少.学习简单.功能强大.轻量级.易扩展.Restfu ...

  3. 使用JFinal框架中Validator

    Validator是JFinal框架中的校验组件,在Validator类中提供了我们经常使用的校验方法,而Validator本身实现了Interceptor接口,所以Validator也相当于一个拦截 ...

  4. jfinal框架新手使用之路及开发心得

    从接触jfinal这个框架到现在差不多也有一个的时间了,因为之前接触的都是像spring ,springMVC,mybatis,struts2,hibernate这种传统,大多数公司都在用的这种框架. ...

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

    Jfinal框架是什么框架?适用于什么项目呢? jfinal 基于spring MVC研发的框架,操作简单.节省代码,适用于所有web项目.适合中小型项目开发.10分钟写出一个页面的增删改查.目前所在 ...

  6. jfinal框架的初级学习

    1.同strust2,使用jfinal框架首先需要在web.xml配置自己的过滤器(com.jfinal.core.JFinalFilter),并初始化JFinalConfig类. <filte ...

  7. 使用JFinal框架连接数据库,实现注册、登录功能

    使用JFinal框架连接数据库,实现注册.登录功能 1.在Eclipse中新建Dynamic Web project项目 2.导入jfinal-2.2-bin-with-src.jar.c3p0-0. ...

  8. jfinal框架教程

    jfinal框架教程 下面通过一个小例子了解jfinal的结构和特点 1.建数据库(我用的是oracle数据库,其他的相对也差不多) -- Create table create table CLAS ...

  9. 搭建jfinal框架时报 Could not load driverClass com.mysql.jdbc.Driver

    搭建jfinal框架时报 Could not load driverClass com.mysql.jdbc.Driver 没有加载MySQL的驱动,你有没有把mysql的驱动包放到你项目的WEB-I ...

随机推荐

  1. Java 多线程之自旋锁

    一.什么是自旋锁? 自旋锁(spinlock):是指当一个线程在获取锁的时候,如果锁已经被其它线程获取,那么该线程将循环等待,然后不断的判断锁是否能够被成功获取,直到获取到锁才会退出循环. 获取锁的线 ...

  2. 巧用这19条MySQL优化,效率至少提高3倍

    阅读本文大概需要 3.8 分钟. 作者丨喜欢拿铁的人 https://zhuanlan.zhihu.com/p/49888088 本文我们来谈谈项目中常用的MySQL优化方法,共19条,具体如下: 1 ...

  3. 第88节:Java中的Ajax和ASP.NET和TCP/IP 教程和JSON

    第88节:Java中的Ajax和Jquery ajax是什么?有什么用?原理,怎么用? ajax是asynchronous javascript and xml(异步javascript和xml),是 ...

  4. 第86节:Java中的JQuery基础

    第86节:Java中的JQuery 前言复习 定时器: setInterval clearInterval setTimeout clearTimeout 显示: img.style.display ...

  5. mongoose的save无效的问题

    概述 今天朋友遇到了使用mongoose中的save无效的问题,我通过查找资料帮他解决了,把心得记录下来,供以后开发时参考,相信对其他人也有用. 参考资料: Mongoose学习参考文档--基础篇 M ...

  6. [Postman]历史(8)

    邮递员将您发送的所有请求存储在左侧边栏的“历史记录”视图中.您可以使用历史记录快速尝试各种请求,而不必浪费时间从头开始构建请求.您还可以通过单击请求名称来加载先前的请求. 如果您创建了一个帐户并登录P ...

  7. chrome强制刷新,非ctrl+f5

    开发时,经常有ctrl+f5无法做到真正的强制刷新,以下可以帮到你 Ctrl+Shift+Del 清除Google浏览器缓存的快捷键 Ctrl+Shift+R 重新加载当前网页而不使用缓存内容

  8. C++版 - Leetcode 69. Sqrt(x) 解题报告【C库函数sqrt(x)模拟-求平方根】

    69. Sqrt(x) Total Accepted: 93296 Total Submissions: 368340 Difficulty: Medium 提交网址: https://leetcod ...

  9. php5.5+apache2.4+mysql5.7在windows下的配置

    apache2.4下载和安装 下载apache2.4 https://www.apachelounge.com/download/VC11/ 提取解压目录Apache24到d:/dev/Apache2 ...

  10. Java 代理模式

    熟悉设计模式的人对于代理模式可能都不陌生.那什么事代理呢,例如我们要买一件国外的商品,但是自己买不到只能去找代购,这个代购就是我们的代理.我们来了解下java中的代理 静态代理 我们来举一个开车的例子 ...