我有一個在 Tomcat9 / Ubuntu 服務器上運行的 Struts Web 應用程式(核心 V2.5.30)。syslog 檔案收到大量類似于以下錯誤訊息的實體。應用程式中沒有可直接訪問的 JSP,并且 JSP 被web.xml訊息中提到的 URL 中的每個建議阻止。
[2022-04-11 13:17:39] [資訊] [警告] 2022-04-11 13:17:39 [https-openssl-nio-8443-exec-5] FreemarkerTemplateEngine - 渲染標簽 /template/xhtml/ head.ftl 超出 Action 范圍,不推薦直接訪問 JSP!請閱讀https://struts.apache.org/security/#never-expose-jsp-files-directly
是什么導致這些訊息出現?
uj5u.com熱心網友回復:
里面的東西index.jsp正在呼叫 JSP 頁面。它可能是包含或轉發的頁面。使用相同的請求,但被呼叫的頁面包含 struts 標簽。
<welcome-file>如果您在 Web 應用程式描述符檔案中定義索引頁面,則它由 Web 容器本身處理。所以它沒有處理 struts2 過濾器,因此沒有可用的操作范圍。
如果您想讓它由 struts2 處理,您應該創建回傳此頁面作為結果的操作映射。
如果您在 JSP 頁面中使用 Struts 標記,那么無論它是否列出了歡迎檔案,它都應該是
dispatcher某個操作的結果。如果您導航到 Web 內容層次結構的檔案夾并且其中有一個歡迎檔案,并且沒有映射到該 URL 的操作,則歡迎檔案串列檔案可以由 Web 容器處理。在這種情況下,您不能在歡迎檔案中使用 struts 標記,因為您試圖在沒有關聯過濾器的情況下運行它,或者 struts2 過濾器已經處理了另一個請求。請參閱使用 Struts2的Hello World應用程式或Hello World示例,這些示例將向您展示如何使用約定 Hello World示例創建利用動作或使用無動作結果的動作配置。
index
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/458803.html
上一篇:AJAX呼叫不會異步(JSP)
