Я пытаюсь получить свойства из файла system.properties, который выглядит так:
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/stud_mng"
duser="root"
dpass=""
logfile=d:/log/test_log.txt
Я также сопоставил этот файл в своем web.xml следующим образом:
<servlet>
<description>
This is the description of my J2EE component
</description>
<display-name>
This is the display name of my J2EE component
</display-name>
<servlet-name>InitServlet</servlet-name>
<servlet-class>com.dts.core.util.InitServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/config/system.properties</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>InitServlet</servlet-name>
<url-pattern>/initservlet</url-pattern>
</servlet-mapping>
Теперь возникла проблема с файлом InitServlet.java, отсюда я пытаюсь получить свойства system.properties, которые сохраняются в папке конфигурации. Вот код, который выдает исключение из строки props.load(fis);
, я публикую исключение из нескольких строк и структуру дерева папок -
package com.dts.core.util;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServlet;
import com.dts.core.dao.AbstractDataAccessObject;
import com.dts.core.db.DBFactory;
public class InitServlet extends HttpServlet
{
AbstractDataAccessObject dobject;
public void init(ServletConfig sc)
{
ServletContext ctx = sc.getServletContext();
InputStream fis = ctx.getResourceAsStream(sc.getInitParameter("config"));
Properties props = new Properties();
try
{
props.load(fis);
}
catch (IOException ioe)
{
ioe.printStackTrace();
}
dobject = new AbstractDataAccessObject();
dobject.setProperties(props);
27 марта 2016 г. 1:06:30 org.apache.catalina.core.StandardContext loadOnStartup СЕРЬЕЗНО: Servlet /MobileServices вызвало исключение load() java.lang.NullPointerException в java.util.Properties$LineReader.readLine(Properties.java: 434) в java.util.Properties.load0(Properties.java:353) в java.util.Properties.load(Properties.java:341) в com.dts.core.util.InitServlet.init(InitServlet.java:26) ) в org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1280) в org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1193) в org.apache.catalina.core.StandardWrapper. load(StandardWrapper.java:1088) в org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5176) в org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5460) в org.apache .catalina.util.LifecycleBase.start(LifecycleBase.java:150) ......
Также мне интересно, почему папка файла конфигурации создается в проектах Netbeans. Могу ли я использовать эту папку для хранения моего файла system.properties, если да, то отсюда, как я получу свойства. Посмотрите на изображение папки, о которой я говорю - выделите розовым цветом
Я буду очень благодарен за любое предложение/руководство/совет.
System.out.println(fileName); props.load(fis); System.out.println(props.getProperty("url"));
и это вывод ›/WEB-INF/config/system.properties ›jdbc:mysql://localhost:3306/stud_mng - person Amit Roy   schedule 27.03.2016