簡體   English   中英

運行在Java Servlet中讀寫外部文本文件的應用程序

[英]Run an application that reads and writes external text files in java servlet

我是Java servlet的新手。 我正在編寫一個讀取和寫入文本文件的應用程序。 但是,我正在使用JSP在Java Servlet上運行此應用程序。 當我在eclipse中運行servlet時,它將保持報告文件未找到錯誤。 我真的不知道如何更正文件路徑,以便servlet不會抱怨它。

基本上,應用程序和Servlet代碼位於同一src文件夾中,但包不同。 您能告訴我這些文本文件應該放在哪里以及如何讀寫嗎? 非常感謝你。

一些信息

  • Web應用程序上下文根目錄中的文件可供客戶端瀏覽。 我懷疑這不是理想的功能。
  • Web應用程序中WEB-INF文件夾下的文件可訪問Web應用程序,但客戶端不可瀏覽。

建議的解決方案1

  • 計划將文件放在WEB-INF文件夾下的文件夾中; 也許命名為“文件”( “ WEB-INF /文件”)。
  • 使用ServletContext.getRealPath()獲取真實文件路徑。
  • 使用Java IO(BufferedReader,Scanner,以及您選擇的其他東西)讀取和寫入文件。

匯總解決方案2

根據以下評論。 Servlet將是Web應用程序的一部分,該Web應用程序將安裝到已知主機上的Servlet容器(可能是Tomcat)中。 在主機上創建目錄。 將此目錄作為參數添加到servlet(可能是servlet配置,可能是屬性文件,可能是硬編碼字符串或任何其他解決方案)。 完成此操作后,Servlet將知道在何處讀寫文件。 那時,任何應用程序都可以讀取和寫入相關文件。

無需在此解決方案中使用getRealPath(),實際路徑是servlet的參數。

建議閱讀清單

有關介紹(可能已過時,但仍然不錯),請閱讀Core Servlets網站上的“ Intermediate Servlets&JSP”和“ Advanced Servlets&JSP”教程。

另一個介紹源是Java EE 5教程 整個教程不錯,但重點是有關servlet信息的第二部分,第3章和第4章。 我更喜歡本教程,而不是Java EE 6教程 ,但這可能只是個人喜好。

默認目錄是項目的目錄。 將您的文件放在項目目錄中,對我來說,它是“ C:\\ Documents and Settings \\ myusername \\ workspace \\ projectname”。

您可以將文件放置在所需的任何位置,但我建議您將其放在WEB-INF下,以便無法直接訪問。

您可以使用以下方式訪問它:

getServletContext()。getRealPath(“ / WEB-INF / filename”);

暫無
暫無

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

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