<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      JFinal快速入門-核心概念-002

      JFinal快速入門-核心概念-002

      目錄

      1. 引言
      2. 框架啟動流程
      3. 核心配置機制
      4. URL請求映射
      5. 請求處理生命周期
      6. 自動熱加載機制

      引言

      JFinal 是一個基于 Java 的輕量級 Web 框架,其設計哲學強調簡潔、高效和約定優于配置(COC)。本文檔深入闡述 JFinal 的核心架構與設計原則,詳細解析從框架初始化到請求處理的完整流程。

      框架啟動流程

      JFinal 框架的啟動始于 JFinalConfig 配置類,通過單例模式實現全局唯一實例管理。整個啟動過程遵循嚴格的初始化順序,確保各組件正確加載和配置。

      sequenceDiagram participant App as 應用程序 participant Filter as JFinalFilter participant JFinal as JFinal participant Config as JFinalConfig App->>Filter : init(FilterConfig) Filter->>JFinal : init(JFinalConfig, ServletContext) JFinal->>Config : configConstant(Constants) JFinal->>Config : configRoute(Routes) JFinal->>Config : configPlugin(Plugins) JFinal->>Config : configEngine(Engine) JFinal->>Config : configInterceptor(Interceptors) JFinal->>Config : configHandler(Handlers) JFinal->>JFinal : initActionMapping() JFinal->>JFinal : initHandler() JFinal->>JFinal : initRender() JFinal->>Config : onStart() Filter->>JFinal : getHandler() Note over Filter,JFinal : 框架初始化完成,開始接受請求

      核心配置機制

      JFinal 采用 Constants 全局配置對象統一管理所有運行時參數,實現了零 XML 配置的設計目標。開發者通過繼承 JFinalConfig 抽象類,在 configConstant 方法中設置這些常量值。

      常用配置項

      配置項 描述 默認值
      devMode 開發模式開關,影響日志輸出和模板更新策略 false
      encoding 請求與響應的字符編碼 UTF-8
      maxPostSize HTTP POST 請求最大尺寸 無限制
      viewType 默認視圖類型(如 FreeMarker、JSP) JFINAL_TEMPLATE
      baseUploadPath 文件上傳基礎路徑 webapp/upload
      classDiagram class Constants { +boolean devMode +String encoding +long maxPostSize +ViewType viewType +String baseUploadPath +setDevMode(boolean) +getDevMode() boolean +setEncoding(String) +getEncoding() String +setMaxPostSize(long) +getMaxPostSize() long +setViewType(ViewType) +getViewType() ViewType +setBaseUploadPath(String) +getBaseUploadPath() String } class JFinalConfig { +configConstant(Constants) +configRoute(Routes) +configPlugin(Plugins) +configEngine(Engine) +configInterceptor(Interceptors) +configHandler(Handlers) +onStart() +onStop() } JFinalConfig --> Constants : "配置"

      Section sources

      URL請求映射

      ActionMapping 組件負責將 HTTP 請求 URL 映射到具體的 Controller 和 Action 方法。該過程在框架啟動時完成,通過掃描路由配置和控制器類的方法注解建立映射關系。

      映射規則

      1. 默認映射:當方法名為 index 時,使用控制器路徑作為 actionKey
      2. 命名約定:普通方法名直接作為 actionKey 的一部分
      3. 注解覆蓋:使用 @ActionKey 注解可自定義 actionKey
      4. 路徑參數:支持 /controller/method/para 形式的 URL 參數傳遞
      flowchart TD Start([開始]) --> ScanControllers["掃描所有Controller類"] ScanControllers --> FindMethods["查找公共方法"] FindMethods --> CheckAnnotation{"是否有@ActionKey注解?"} CheckAnnotation --> |是| UseCustomKey["使用注解指定的actionKey"] CheckAnnotation --> |否| CheckMethodName{"方法名是否為index?"} CheckMethodName --> |是| UseControllerPath["使用控制器路徑"] CheckMethodName --> |否| BuildDefaultKey["構建默認actionKey<br/>controllerPath/methodName"] UseCustomKey --> ValidateKey["驗證actionKey有效性"] UseControllerPath --> ValidateKey BuildDefaultKey --> ValidateKey ValidateKey --> RegisterMapping["注冊到mapping映射表"] RegisterMapping --> End([結束]) style Start fill:#f9f,stroke:#333 style End fill:#f9f,stroke:#333

      Section sources

      請求處理生命周期

      JFinalFilter 作為 Servlet 過濾器集成到容器中,攔截所有請求并交由內部處理器鏈進行處理。這是 JFinal 與 Servlet 容器交互的核心組件。

      sequenceDiagram participant Client as 客戶端 participant Filter as JFinalFilter participant Handler as ActionHandler participant Action as Action participant Controller as Controller Client->>Filter : 發送HTTP請求 Filter->>Filter : 設置字符編碼 Filter->>Filter : 截取上下文路徑 Filter->>Handler : 調用handle方法 Handler->>ActionMapping : 獲取Action對象 ActionMapping-->>Handler : 返回Action Handler->>Controller : 創建Controller實例 Controller->>Controller : 初始化請求上下文 Controller->>Controller : 執行業務邏輯 Controller->>Handler : 返回Render對象 Handler->>Handler : 渲染視圖 Handler-->>Filter : 處理完成 Filter->>Client : 返回響應 alt 請求未被處理 Filter->>Filter : 檢查是否為JSP訪問 Filter->>Filter : 拒絕直接訪問JSP Filter->>Servlet : 繼續過濾器鏈 end

      **Section sources **

      自動熱加載機制

      JFinal-Undertow在開發模式下支持類文件的自動熱加載,極大提升了開發效率。

      https://jfinal.com/doc/1-5

      此機制要求 IDE 配置自動編譯功能。


      JFinal極速開發平臺系列:

      posted on 2025-09-26 22:08  xiaomuedu  閱讀(171)  評論(0)    收藏  舉報

      導航

      主站蜘蛛池模板: 国产精品国语对白一区二区| 日本国产精品第一页久久| 高碑店市| 69天堂人成无码免费视频| 欧美性群另类交| 中文字幕亚洲一区二区va在线 | 国产精品中文字幕日韩| 熟妇无码熟妇毛片| 久久精品国产亚洲av麻豆小说| 亚洲熟妇国产熟妇肥婆| 粉嫩国产一区二区三区在线| 中文字幕有码高清日韩| 国产精品一品二区三四区| 中文字幕人妻在线精品| 免费午夜无码片在线观看影院| 国产福利视频区一区二区| 国产精品久久久久久久9999| 亚洲综合精品第一页| 中文www天堂| 自拍偷拍视频一区二区三区| 亚洲av无码精品蜜桃| 国产69精品久久久久99尤物| 少妇人妻av毛片在线看| 在线视频不卡在线亚洲| 国产综合视频一区二区三区 | 97久久超碰国产精品2021| 99精品热在线在线观看视| 人妻体内射精一区二区三区| 亚洲精品成人片在线观看精品字幕| 亚洲爆乳WWW无码专区| 欧美性猛交xxxx乱大交极品| 2022最新国产在线不卡a| 吉川爱美一区二区三区视频| av天堂亚洲天堂亚洲天堂| 久久婷婷综合色丁香五月| 在线中文字幕国产精品| 龙川县| 国产一区二区三区AV在线无码观看| 人体内射精一区二区三区| 高清美女视频一区二区三区| 精品国偷自产在线视频99|