堆疊顯示 org.apache.jsp.out._20150108145057._1420700842202_jsp._jspService,這是 JSP 編譯生成的 Servlet 類名,無法直接對應原始 .jsp 檔名。
_jsp.java 再編譯為 .class,類名採用時間戳+雜湊命名。
或在 catalina.sh 加入:CATALINA_OPTS="-Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false"
_1420700842202_jsp.java:1468 反推:打開 work/Catalina/localhost/yourApp/org/apache/jsp/out/... 對應 .java 檔,看該行代碼上下文。FileInputStream、/proc/self/task)在專案 .jsp 中定位。log4j2 MDC 標記請求 ID,關聯存取日誌縮小範圍。JSP 編譯後類名混淆導致無法定位源文件,**屬於 JSP 技術債務**。短期靠升級容器、手動反推緩解;長期**必須遷移至現代模板引擎**,徹底消除 Scriptlet 並獲得可維護的除錯體驗。