JFinal学习笔记--官方Demo
程序员文章站
2022-07-14 08:55:15
...
JFinal 是基于 Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。 在拥有Java语言所有优势的同时再拥有ruby、python、php等动态语言的开发效率!
JFinal有如下主要特点:
- MVC架构,设计精巧,使用简单
- 遵循COC原则,零配置,无xml
- 独创Db + Record模式,灵活便利
- ActiveRecord支持,使数据库开发极致快速
- 自动加载修改后的java文件,开发过程中无需重启web server
- AOP支持,拦截器配置灵活,功能强大
- Plugin体系结构,扩展性强
- 多视图支持,支持FreeMarker、JSP、Velocity
- 强大的Validator后端校验功能
- 功能齐全,拥有struts2的绝大部分功能
- 体积小仅248K,且无第三方依赖
官方实例:
1、新建工程:
2、导入 jar 文件
3、配置 web.xml 文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
<display-name>JFinal</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<!-- 配置JFinal过滤器 -->
<filter>
<filter-name>jfinal</filter-name>
<filter-class>com.jfinal.core.JFinalFilter</filter-class>
<!-- 基本配置类 -->
<init-param>
<param-name>configClass</param-name>
<param-value>com.xiaoye.study.jfinal.MyJFinalConfig</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>jfinal</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
4、编写 JFinalConfig继承类
package com.xiaoye.study.jfinal; 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.xiaoye.study.jfinal.controller.HelloController; public class MyJFinalConfig extends JFinalConfig { /** * 设置一些常量 */ @Override public void configConstant(Constants me) { me.setDevMode(true); // 设置开发模式 } /** * 设置访问路由 */ @Override public void configRoute(Routes me) { me.add("/hello", HelloController.class); } @Override public void configPlugin(Plugins me) { } @Override public void configInterceptor(Interceptors me) { } @Override public void configHandler(Handlers me) { } }
5、编写自己的 Controller 类
package com.xiaoye.study.jfinal.controller; import com.jfinal.core.Controller; /** * Action 类 */ public class HelloController extends Controller { /** * index 为 JFinal 默认执行的方法,类似 Struts2 的 execute 方法 * 访问的默认路径为:http://localhost/hello/index 或者 http://localhost/hello */ public void index() { renderText("执行 HelloController 的默认(index)方法"); } /** * 如果要执行非默认方法,地址栏需要加上方法名称 * eg: http://localhost/hello/hello */ public void hello() { renderText("执行 HelloController 的 hello 方法"); } }
6、完整的工程目录
7、启动测试
7.1
7.2
7.3
7.4
7.5
7.6
JFinal 的 tomcat 部署方式
本人使用解压缩的 apache-tomcat-6.0.8 版本
1、删除 工程中的 jetty-server-8.1.8.jar 包
2、进入 apache-tomcat-6.0.8 解压包的 conf 目录下,修改 server.xml 文件。
在 <Host> 节点下增加如下代码: <Context docBase="F:\study\JFinalStudy\WebContent" path="" reloadable="true"/> 说明: 1、docBase 的值为你的JFinal工程所在路径,注意到 WebContent 或是 WebRoot目录下 2、path 的值为空3、启动
进入 apache-tomcat-6.0.8 解压包的 bin目录下,双击 start.bat 启动tomcat
访问路径什么的都一样
访问:http://localhost:8080/hello/hello。
注意:端口号为tomcat配置的端口号
JFinal 的tomcat部署完成
推荐阅读
-
kratos微服务框架学习笔记一(kratos-demo)
-
WP7学习笔记—Silverlight多点触摸事件详解【含Demo代码】
-
JFinal 学习笔记之Handler包分析
-
JFinal学习笔记--官方Demo
-
SpringBoot web--RestfulCRUD-demo-登陆&拦截器(学习笔记17)
-
[TypeScript] - TypeScript官方文档学习笔记-接口-下(四)
-
Opencv4 -Python官方教程学习笔记10---图像的几何变换
-
【SpringMvc学习笔记(二)】入门案例Demo以及RequestMapping详解
-
【Qt官方例程学习笔记】Getting Started Programming with Qt Widgets
-
STM32+FreeRTOS+CUBEMX_学习笔记(三)freertos官方文档分析,时间片调度和抢占式调度的区别