我正在尝试从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的属性,该属性保存在config文件夹下。这是从行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);
2016年3月27日上午1:06:30 org.apache.catalina.core.StandardContext loadOnStartup SEVERE:Servlet / MobileServices引发了load()异常 java.lang.NullPointerException at java.util.Properties $ LineReader.readLine(Properties.java:434)at java.util.Properties.load0(Properties.java:353)at java.util.Properties.load(Properties.java:341)at com.dts.core.util.InitServlet.init(InitServlet.java:26)at 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文件,如果是,那么从这里我将如何获取属性。在图像中看到我正在谈论的文件夹 - Highlight with Pink Color
我将非常感谢任何建议/指导/建议。
答案 0 :(得分:1)
我发现错误并纠正了错误。这是一个愚蠢的错误。正如你在我的主帖子中看到的那样,我给出了像这样的system.properties的代码
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/stud_mng"
duser="root"
dpass=""
logfile=d:/log/test_log.txt
在上面的代码中有2个错误
1. url=jdbc:mysql://localhost:3306/stud_mng"
和
2. dpass=""
我替换了这两行 -
url=jdbc:mysql://localhost:3306/stud_mng"
dpass=
项目运行良好。
这可以帮助任何人。