(nach dem Durchsuchen von StackExchange) Ich kann nicht herausfinden, warum ich meine Eigenschaftendatei von einem einfachen Java class
mit einer main()
Methode, aber nicht von einem Java servlet
laden kann. Die Ausnahme ist java.io.FileNotFoundException: resources\dbprops.properties (The system cannot find the path specified)
Könnte mir bitte jemand helfen, die Eigenschaftendatei in mein Servlet zu laden?
(Angenommen, es gibt auch andere Methoden und Importe in diesen Klassen)Warum kann ich Eigenschaften in einer Java-Anwendung, aber nicht in einem Java-Servlet laden?
Projekt Layout:
project\ src\ joerle\ servlet\ MyServlet.java jdbc\ JdbcTest.java resources\ dbprops.properties
einfache Java-Klasse joerle.jdbc.JdbcTest
(Lasten Eigenschaften):
public class JdbcTest { private final String dbPropPath = "resources" + File.separator + "dbprops.properties"; private Properties props; public JdbcTest() { try { props = new Properties(); props.load(new FileInputStream(dbPropPath)); //do stuff } catch (FileNotFoundException e) { System.err.println("properties file not found"); e.printStackTrace(); } catch (IOException e) { System.err.println("properties file cannot be opened"); e.printStackTrace(); } } public static void main(String[] args) { new JdbcTest(); } }
einfache Java-Servlet-Klasse joerle.servlet.MyServlet
(Fehler beim Laden der Eigenschaften):
public class MyServlet extends HttpServlet { private final String dbPropPath = "resources" + File.separator + "dbprops.properties"; private Properties props; public void init(ServletConfig config) throws ServletException { try { props = new Properties(); props.load(new FileInputStream(dbPropPath)); //do stuff } catch (FileNotFoundException e) { System.err.println("properties file not found"); e.printStackTrace(); } catch (IOException e) { System.err.println("properties file cannot be opened"); e.printStackTrace(); } } }
Ich habe schon versucht:
- Load properties file in servlet?
- Load properties file in Servlet/JSP
und einige andere Lösungen ...
Vielen Dank im Voraus! Hier