Java 我需要在web应用程序中的什么位置放置一个文件,以便从servlet读取它
我需要知道我应该把一个文件放在web应用程序的什么地方,这样我就可以从servlet中读取它 到目前为止,我已经在下面的结构中放置了一个名为Java 我需要在web应用程序中的什么位置放置一个文件,以便从servlet读取它,java,servlets,Java,Servlets,我需要知道我应该把一个文件放在web应用程序的什么地方,这样我就可以从servlet中读取它 到目前为止,我已经在下面的结构中放置了一个名为conf/config.cfg的文件夹 BankConfig/ WEB-INF/ libs/ classes/ conf/ config.cfg 我从一个servlet读
conf/config.cfg
的文件夹
BankConfig/
WEB-INF/
libs/
classes/
conf/
config.cfg
我从一个servlet读取它,如下所示:
String fileName = "conf/config.cfg";
InputStream is;
try {
is =// getClass().getResourceAsStream(fileName);
new FileInputStream(fileName);
prop.load(is);
}catch(Exception e){}
如果您想从servlet读取它,我将使用
ServletContext
读取文件和属性
例如:
String fileName = "/conf/config.cfg";
InputStream is = getServletContext().getResourceAsStream(fileName);
prop.load(is);
注意:文件名
以一个/
开头(从servlet上下文角度看为root)。唯一的问题是,我会将conf/config.cfg
放在WEB-INF
文件夹中(因为它被Servlet容器隐藏在视图中,并执行与上面相同的操作,相反,我会将文件名更改为:
String fileName = "/WEB-INF/conf/config.cfg";
javax.servlet.ServletException:servlet com.ifkaar.admin.AddPoolController的servlet.init()引发异常根本原因java.lang.NullPointerException javax.servlet.GenericServlet.getServletContext(GenericServlet.java:125)com.ifkaar.admin.AddPoolController.init(未知源)org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)它仍然抛出这个exception@AliRaza,它在哪里抛出异常?你不能指望我在没有代码的情况下解决你的错误。我不是心灵感应者(提示:请发布代码)。public void init(ServletConfig)抛出ServletException{String fileName=“/WEB-INF/conf/config.cfg”;尝试{InputStream is=getServletContext().getResourceAsStream(文件名);prop.load(is);this.redisHost=prop.getProperty(“redis.host”);log.info(“host:+prop.getProperty(“redis.host”);}catch(FileNotFoundException e1){e1.printStackTrace();}catch(IOException e){e.printStackTrace();}catch(NullPointerException e){e.printStackTrace();}this.edis=new Jedis(this.redisHost);}是
/conf/config.cfg
文件夹中的/conf/config.cfg
?