當我們以 DFD (Data Flow Diagram) 的視景(視角),來看一個專案實際所使用的 JSP API、Servlet API 的版本別時,就可以詳細(實)地,查(出)看 -- 並加以記錄管理:(1). 該專案,實際執行在 Server Runtime 時,所發現的問題(或可略過)的原因,(2). 該專案,將來執行在 另一個 Server Runtime (版次較高) 時,所發現的問題(或可略過)的原因,被解決了;或該專案,將來執行在 另一個 Server Runtime (版次較高) 時,所又發現的新的問題(或可略過)的可能原因,變成是可以預期的。
實際的案例:Project 01,實際所使用的 JSP API、Servlet API 的版本分別是:2.0、3.0 時(User 沒跟你說的時候,你如何找出 ? 找到 MANIFEST.MF file -- location : jsp-api-jar/META-INF/),當你(費時地)找出(是否更應該好好管理 ? 答案:是的。 我已經用 JDFD System 做好管理。),確定實際所使用的 JSP API、Servlet API 的版本分別就是:2.0、3.0,且 Servlet API 3.0 的版本,其所使用的 JDK 的版本是 JDK 1.6(6) (Compile-Source-JDK: 1.6、Compile-Target-JDK: 1.6)。(參考:附圖 1)
我必須查出實際的案例:Project 01,其實際所使用的 JSP API、Servlet API 的版本分別是:2.0、3.0 的原因是,實際的案例:Project 01,它把JSP API 版本 2.0 的 JAR 檔 ( jsp-api.jar ) 包進專案中,以致於,該專案啟動執行於 Server Runtie 客戶所指定的 Apache Tomcat 的版本 7,怎麼實行就是出錯,無法啟動。後來終於確定是專案所使用的JSP API 版本 2.0 的 JAR 檔 ( jsp-api.jar ) ,與 Server Runtie (Apache Tomcat 版本 7) 所使用的JSP API 版本 2.2 的 JAR 檔 ( jsp-api.jar ) ,發生衝突。
(附圖1)
透過實際的案例:Project 01,實際所使用的 JSP API、Servlet API 的版本分別是:2.0、3.0 ,確定實際可使用的 Server Runtie (Apache Tomcat) 的版本分別就是:4 至 7,而我最高可以用到 Server Runtie (Apache Tomcat) 的版本是:9 。因為,有一個情境與一個限制條件,一個限制條件,就是,不能用到 10 ,因為一個情境是,我要用的 iText 的版本,其所使用的 JDK 的版本是 JDK 11 (參考:附圖 2)
(附圖2)


