jfinal框架学习过程
刚刚学习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框架学习过程的更多相关文章
- jfinal框架教程-学习笔记(二)
上一节介绍了jfinal框架的简单搭建,这节通过一个小例子了解jfinal的结构和特点 先上图 1.建数据库(我用的是oracle数据库,其他的相对也差不多) -- Create table crea ...
- jfinal框架教程-学习笔记
jfinal框架教程-学习笔记 JFinal 是基于 Java 语言的极速 WEB + ORM 开发框架,其核心设计目标是开发迅速.代码量少.学习简单.功能强大.轻量级.易扩展.Restfu ...
- 使用JFinal框架中Validator
Validator是JFinal框架中的校验组件,在Validator类中提供了我们经常使用的校验方法,而Validator本身实现了Interceptor接口,所以Validator也相当于一个拦截 ...
- jfinal框架新手使用之路及开发心得
从接触jfinal这个框架到现在差不多也有一个的时间了,因为之前接触的都是像spring ,springMVC,mybatis,struts2,hibernate这种传统,大多数公司都在用的这种框架. ...
- Jfinal框架是什么框架?适用于什么项目呢?
Jfinal框架是什么框架?适用于什么项目呢? jfinal 基于spring MVC研发的框架,操作简单.节省代码,适用于所有web项目.适合中小型项目开发.10分钟写出一个页面的增删改查.目前所在 ...
- jfinal框架的初级学习
1.同strust2,使用jfinal框架首先需要在web.xml配置自己的过滤器(com.jfinal.core.JFinalFilter),并初始化JFinalConfig类. <filte ...
- 使用JFinal框架连接数据库,实现注册、登录功能
使用JFinal框架连接数据库,实现注册.登录功能 1.在Eclipse中新建Dynamic Web project项目 2.导入jfinal-2.2-bin-with-src.jar.c3p0-0. ...
- jfinal框架教程
jfinal框架教程 下面通过一个小例子了解jfinal的结构和特点 1.建数据库(我用的是oracle数据库,其他的相对也差不多) -- Create table create table CLAS ...
- 搭建jfinal框架时报 Could not load driverClass com.mysql.jdbc.Driver
搭建jfinal框架时报 Could not load driverClass com.mysql.jdbc.Driver 没有加载MySQL的驱动,你有没有把mysql的驱动包放到你项目的WEB-I ...
随机推荐
- Android WebView 超大字号适配问题
目前在使用 Android WebView 展示H5页面的时候,存在当系统字号设置超大的时候,出现页面内容展示不全的问题. 此问题是因为Android WebView 默认使用系统字号进行展示. 解决 ...
- 第73节:Java中的HTTPServletReauest和HTTPServletResponse
第73节:Java中的HTTPServletReauest和HTTPServletResponse HTTP协议 客户端与服务器端通讯的一种规则. request: 请求行 请求头 请求体 respo ...
- Core 接口发布报错
An error occurred while starting the application 提示:启动应用程序时发生错误 这个错误在Startup启动项里面 要找具体的报错位置 如下 这样就可以 ...
- 写给深圳首期Python自动化开发周未班的信
你是否做了正确的决定? 深圳首期周未班的同学们大家好,我是Alex, 老男孩教育的联合创始人,Python项目的发起人,51CTO学院连续2届最受学员喜爱的讲师,中国最早一批使用Python的程序员, ...
- java开发面试问题
Java面试题:java的垮平台原理 为什么要跨平台使用????? 其实说白了就是个操作系统支持的指令集是不一样的.我们的程序需要再不同的操作系统上运行这些代码. 但是不要说jvm是跨平台的,而真正跨 ...
- dedecms中arclist标签做分页以及分页点击模块样式错乱问题
in 使用织梦建站,通常会调用到一个文章列表,dedecms官网list标签没有提供typeid的属性,首页或多列表部分情况下使用分页并不方便,这就需要用arclist标签实现一个分页功能:以下还是展 ...
- “五年经验”年薪50W分享Java程序员掌握什么技术才不会被淘汰
在这个IT系统动辄就是上亿流量的时代,Java作为大数据时代应用最广泛的语言,诞生了一批又一批的新技术,包括HBase.Hadoop.MQ.Netty.SpringCloud等等 . 一些独角兽公司以 ...
- odoo开发笔记 -- self详解
python中一切皆对象! odoo基于python开发,那么odoo中也可以理解成一切皆对象. 我们在python中定义类的时候,一般会用到self,用来表示当前对象自己. 那么odoo中的self ...
- Centos系统通过tar.gz包安装Mysql5.7
1.安装mysql之前需要确保系统中有libaio依赖,使用如下命令: yum search libaio yum install libaio 2.进入centos终端操作界面,使用wget命令下载 ...
- python+appium的物理按键代码
代码就一句driver.keyevent()括号内填入的是物理按键的数字代号 代号表: 电话键 KEYCODE_CALL 拨号键 5 KEYCODE_ENDCALL 挂机键 6 KEYCODE_HOM ...