簡體   English   中英

getServletConfig()/ getServletContext()返回null值

[英]getServletConfig() / getServletContext() returning null value

我想在Java類中獲取servletContext以從WEB-INF目錄中讀取文件。 我使用HttpServlet擴展了我的類,並嘗試獲取上面的代碼中的上下文,但servlet配置返回null。 我不使用任何jsp或控制器。 我的目的是從Java類中讀取直接放在WEB-INF目錄中的文件。 請讓我知道如何在類中得到null servletConfig / servletContext

ServletConfig config = getServletConfig(); 
ServletContext context = config.getServletContext(); 
InputStream resourceContent = context.getResourceAsStream("/WEB-INF/samplefile");

陷阱為年輕球員。 如果你覆蓋了

public void init(ServletConfig config)

方法,你必須打電話

super.init(config);

在方法內部。 否則,超類將上下文視為null. 它在Javadoc中提到:

覆蓋此方法的形式時,請調用super.init(config).

注意您可以通過getServletContext().直接獲取上下文getServletContext(). 沒有必要通過getServletConfig().

我有同樣的問題,結果發現web.xml文件是在錯誤的地方創建的,並沒有被容器加載。

它需要在WEB-INF文件夾的根目錄中創建。 理想情況下,Eclipse會在您創建項目時為您執行此操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM