-mümkün değil Şöyle system.properties dosyasından özelliklerini almak için çalışıyorum
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/stud_mng"
duser="root"
dpass=""
logfile=d:/log/test_log.txt
Ben de web.xml''deki bu dosyayı eşlenen böyle -
<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>
Şimdi burada bu InitServlet.java dosya sorun yapılandırma klasörü altında kaydedilir system.properties özelliklerini almaya çalışıyorum buradan geldi. Burada, hat
props.load(fis);
den istisna atıyor kodudur ben birkaç satır istisna ve klasör ağacının yapısını ilanıyla -
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);
Mar 27, 2016 01:06:30 org.apache.catalina. core.StandardContext loadOnStartup CİDDİ: Servlet/MobileServices load() istisna attı java.lang.NullPointerException java.util.Properties.load0 (Varlıkları java.util.Properties $ LineReader.readLine (Properties.java:434) de .java: 353) java.util.Properties.load (Properties.java:341) adresinde com.dts.core.util.InitServlet.init (InitServlet.j org org.apache.catalina.core.StandardWrapper.loadServlet (StandardWrapper.java:1193) de org.apache.catalina.core.StandardWrapper.initServlet (StandardWrapper.java:1280) az 26): Ava. apache.catalina.core.StandardWrapper.load org.apache.catalina.core.StandardContext de org.apache.catalina.core.StandardContext.loadOnStartup (StandardContext.java:5176) 'den (StandardWrapper.java:1088) . startInternal org.apache.catalina.util.LifecycleBase.start (LifecycleBase.java:150) 'den (StandardContext.java:5460) ......
Ayrıca, Netbeans projelerinde yapılandırma dosyası klasörünün neden oluşturulduğunu merak ediyorum. Varsa, bu özellikten yararlanarak system.properties dosyasını saklamak için bu klasörü kullanabilir miyim? Resimde gördüğünüz klasöre bakın - Highlight with Pink Color
Her türlü öneri/rehberlik/tavsiye için çok minnettar olacağım.
bunu kontrol ettiniz mi http://stackoverflow.com/questions/9892480/loading-properties-file-in-init-of-servlet-without-using-context-param-tag-in? –
@DeendayalGarg Bu yazıda özel olarak yazılan aynı çözüm kodundan bahsediyorsunuz. Kodumda ve kabul edilen çözüm kodunda bir fark var mı? –
Hata ayıklamayı denediniz mi ve "sc.getInitParameter (" config ")" değerinin ne olduğunu gördünüz mü? –