Jfinal学习日志第二章_JFinalConfig(详细图解)

第二章 JFinalConfig

第二章说的是Jfinal整体项目的配置—-JFinalConfig,项目所有的全局配置都在这里啦,总体内容见下图:

0JFinalConfig

本章主要的目的是让大家了解这些配置的作用,接下来一一介绍这些配置的作用。

  • configConstant(Constants me)
  • configRoute(Routes me)
  • configEngine(Engine me)
  • configPlugin(Plugins me)
  • configInterceptor(Interceptors me)
  • configHandler(Handlers me)
  • afterJFinalStart()
  • beforeJFinalStop()
  • Properties loadPropertyFile(File file, String encoding)
  • PropKit

1. configConstant配置JFinal常量值

configConstant
Constants配置类,用于配置JFinal的系统常量值

  • 开发模式(devMode,默认 false)
  • 上传路径(baseUploadPath,默认 upload)
  • 下载路径(baseDownloadPath,默认 download)
  • 系统编码(encoding,默认 UTF-8)
  • URL参数分隔符(urlParaSeparator,默认 - )
  • 视图类型(viewType,默认 JFINAL_TEMPLATE)
  • 视图后缀名(viewExtension,默认 .html)
  • 最大上传值 (maxPostSize,默认 10M)
  • 视图更新频率(freeMarkerTemplateUpdateDelay,默认 3600s,非开发模式可用)

在开发模式下,JFinal 会对每次请求输出报告,输出每次请求的 URL、Controller、Method
以及请求所携带的参数。

2. configRoute配置JFinal访问路由

2configRoute

如图配置,将”/hello”映射到 HelloController 这个控制 器 ,访问http://localhost/hello 将 访 问 HelloController.index()方法,而http://localhost/hello/methodName 将访问到 HelloController.methodName()方法。这是JFinal一大便利,访问路径与控制类的方法名相同。

2.1 视图渲染路径的配置

2.1viewpath

Routes.setBaseViewPath(baseViewPath)方法用于为该 Routes 内部的所有 Controller 设置视
图渲染时的基础路径,该基础路径与 Routes.add(…, viewType)方法传入的 viewPath 以及
Controller.render(view) 方法传入的 view 参数联合组成最终的视图路径,规则如下:
finalView = baseViewPath + viewPath + view
注意:当 view 以 “/” 字符 打头时 表示绝对路径, ,baseViewPath 与 viewPath 将被忽略

值得注意的还有,这个finalView是指webapp底下的文件路径,视图渲染时按这个路径去寻找对应的页面。最初我一直以为是url上的路径- -

2.2 添加路由

添加路由有三种方式

  • public Routes add(String controllerKey, Class< ? extends Controller> controllerClass)
    第一个参数是URL路径,第二参数是对应的控制器,是最基础的应用,如上图所示。
  • public Routes add(String controllerKey, Class< ? extends Controller> controllerClass, String viewPath)
    前两个参数和上面的方法一样,第三个参数是设置视图渲染时的基础路径。
  • public Routes add(Routes routes)
    这种添加方式需要自定义一个路由,路由继承Routes类,实现config()方法,实现内容与添加路由的方式相同(如下图),主要是给不同用户可以单独增加路由的方法,便于合作开发。

    route

还有一种优先级最高的路由设置方式,这样会打破原有路由设置内容@ActionKey,直接作用于方法之上,不过个人平时不建议使用该功能,因为这样不便于管理,而是应该特殊情况进行使用。

路由设置中还可以对该路由添加拦截器Routes.addInterceptor(Interceptor interceptor),这样对于特定URL路径进行管理,可以一定程度减少代码冗余。

3. configEngine配置模版引擎

这个Jfinal已经专门开了一个独立的模块enjoy。目前还未学到,暂不说明。

4. configPlugin配置JFinal扩展插件

Plugin.add(IPlugin plugin)此方法主要用来扩展JFinal的Plugin,便于用户对JFinal进行扩展,只需继承IPlugin即可。
Plugin

5. configInterceptor配置JFinal全局拦截器

Interceptors.add(Interceptor globalActionInterceptor)和底下的configHandler类似拦截器和过滤器的原理和区别。一个是拦截所有 action 请求,一个是拦截所有web请求。

全局拦截器将拦截所有 action 请求,除非使用@Clear 在 Controller 中清除。Interceptor 配置粒度分为Global、Inject、Class、Method 四个层次,在configInterceptor中配置粒度为全局。

6. configHandler配置JFinal所有请求处理

Handler.add(Handler handler),该类可拦截web所有请求,想干什么都行啦。

7. afterJFinalStart配置Jfinal启动后动作

在afterJFinalStart()方法内写上Jfinal启动后要做的动作即可

8.beforeJFinalStop配置JFinal关闭前的动作

在beforeJFinalStop()内写上JFinal正常关闭下,需要做的动作。(好像很少遇到正常关闭的动作233)

9.loadPropertyFile

Properties loadPropertyFile(File file, String encoding)JFinal启动时初始化JFinalConfig的配置文件,参数名为prop。

10 PropKit介绍

JFinal存在一个PropKit单例,用来读取配置文件的信息。读取配置文件信息PropKit.use(String fileName, String encoding),读取配置信息参数PropKit.get(String key)。
永远默认第一次使用use的配置文件的参数,如果想读取其它配置文件的参数需要使用PropKit.use(String fileName).get(String key)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

nothings0o

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值