MVC

  • 描述
  • Controller : 控制器
  • Action :请求的基本单位
  • Interceptor : 拦截器
  • FixedInterceptor :永久拦截器
  • Render :渲染器
  • Session
  • Cookie
  • Jwt : Json Web Token
  • Validate : 验证器
  • 安全

描述

JFinal 的相关文档:

Controller :控制器

Controller 是 JFinal 的核心类之一,是 MVC 设计模式中的控制器。基于 Jboot 开发的控制器需要继承 Controller。Controller 也是定义 Action 方法的地点,一个 Controller 可以包含多个 Action 。

另外,JbootController 扩展了 JFinal 的 Controller 类,增加了 Jwt、FlashMessage 和 其他一些实用的方法。

建议基于 Jboot 开发的应用,都继承至 JbootController。(备注:只是建议、而非必须。)

Interceptor : 拦截器

Interceptor 拦截器的相关文档请参考 https://www.jfinal.com/doc/4-2MVC - 图3

FixedInterceptor :永久拦截器

FixedInterceptor 的用法和 Interceptor 一样,但是 不会被 @Clear 清除,常用于给 Controller 或者 Service 的注解进行增强。

Handler 处理器是 JFinal 的核心,用于预先处理 Web 的所有请求,其架构可以参考 https://www.jfinal.com/doc/13-2 ,用法参考:

Render :渲染器

Render 请参加 JFinal 的文档

Session

当然,也可以通过如下来配置 Session 特殊功能:

Jwt

Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准(RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。

JWT的方法:

JWT的相关配置

配置属性描述
jboot.web.jwt.httpHeaderName配置JWT的http头的key,默认为JWT
jboot.web.jwt.secret配置JWT的密钥
jboot.web.jwt.validityPeriod配置JWT的过期时间,默认不过期
  • CaptchaValidate 对验证码进行验证
  • EmptyValidate 对空内容进行验证
  • UrlParaValidate 对URl参数内容进行验证

使用方法:

  1. @RequestMapping("/validate")
  2. public class ValidateController extends Controller {
  3. public void index(){
  4. renderText("index");
  5. }
  6. @UrlParaValidate
  7. public void test1(){
  8. renderText("test1");
  9. }
  10. // 访问 /validate/test2 不通过,浏览器会显示内容 :test2 was verification failed
  11. @UrlParaValidate(renderType = ValidateRenderType.TEXT,message = "test2 was verification failed")
  12. public void test2(){
  13. }
  14. // 访问 /validate/test3 不通过,必须传入 form 数据
  15. @EmptyValidate(value = @Form(name = "form"),renderType = ValidateRenderType.JSON)
  16. public void test3(){
  17. renderText("test3");
  18. }