[ nemnesic @ 19.02.2007. 19:49 ] @
da li je moguce da servlet (DataBeanLoader) pozove classu koja pravi data bean, i set-uje vrednosti u tom bean-u,
onda da napravi taj bean u application scopu da bi ostale JSP kasnije mogle da koriste taj bean?

ovaj servlet (DataBeanLoader) bi kasnije trebao da ide u web.xml, da bi posle restartovanja servera
data bean-ovi ponovo bili loadovani.

probao sam nesto tipa:

u init()
sam stavio
Code:

MyBean mb = new MyBean()
mb.setSomething(vrednost1);
getServletConfig().getServletContext().setAttribute("myBean", mb);


medjutim dobijam

java.lang.NullPointerException



hvala puno
[ bgd2500 @ 20.02.2007. 11:20 ] @
Probaj samo
Code:

getServletContext().setAttribute("myBean", mb);
[ nemnesic @ 20.02.2007. 13:16 ] @
probao sam i to ranije ali ne radi
ponovo
java.lang.NullPointerException

nije mi jasno zasto NullPointerException?


Petreski ti ti sigurno znas? aj pomazi, razbijam glavu vec 2 dana

nn
[ bgd2500 @ 20.02.2007. 15:30 ] @
Pa pogledaj gde ti tacno pukne exception, ili posalji ceo init() metod pa da vidimo.
[ nemnesic @ 20.02.2007. 15:47 ] @
pa pukne
bas ovde
Code:

getServletConfig().getServletContext().setAttribute("myBean", mb);


evo coda:

Code:

public void init(ServletConfig arg0) throws ServletException {
        
        try{
            srtCounty_bean();
        }
        catch(Exception e)
        {
            System.out.println("Error1");
            e.printStackTrace();
        }
        try{
            srtHs_bean();
        }
        catch(Exception e)
        {
            System.out.println("Error2");
            e.printStackTrace();
            
        }
    }
    
    private void srtCounty_bean(){
        
        DB_SRTCounty dbSrtCounty = new DB_SRTCounty();
        String[] countyNam = new String[70];
        String[] countyCd = new String[70];
        int counter = 0;
        
        countyNam = dbSrtCounty.getCounty_nam();
        countyCd = dbSrtCounty.getCounty_cd();
        counter = countyCd.length;
                
        SrtCountyBean srtCountyBean = new SrtCountyBean();
        
        srtCountyBean.setCounty_nam(countyNam);
        
        srtCountyBean.setCounty_cd(countyCd);
        
        srtCountyBean.setCounter(counter);
        
        
        try{
            
         
this.getServletConfig().getServletContext().setAttribute("srtCountyBean", 
srtCountyBean);
        }
        catch(Exception e)
        {
            System.out.println(" ###################### " + countyNam[6]);
            e.printStackTrace();
        }
        
    }
    
    private void srtHs_bean() {
        DB_SRTHs dbSrtHs = new DB_SRTHs();
        String[] hsNam;
        String[] hsSfccCd;
        int counter_hs = 0;
        
        counter_hs = dbSrtHs.getRsCount();
        hsNam = new String[counter_hs];
        hsSfccCd = new String[counter_hs];
        hsNam = dbSrtHs.getHs_nam();
        hsSfccCd = dbSrtHs.getHs_sfcc_cd();
        
        SrtHsBean srtHsBean = new SrtHsBean();
        srtHsBean.setHs_nam(hsNam);
        srtHsBean.setHs_sfcc_cd(hsSfccCd);
        srtHsBean.setCounter(counter_hs);
        
        getServletConfig().getServletContext().setAttribute("srtHsBean", 
srtHsBean);
        
    }



--
[ bgd2500 @ 20.02.2007. 16:43 ] @
Osnovno pravilo je da servletov init() metod *MORA* prvo da pozove super.init().
Dakle,
Code:

public void init(ServletConfig cfg) throws ServletException {
    super.init(cfg);
    ...
[ nemnesic @ 20.02.2007. 16:53 ] @
ma znam i to. probao ali nema razlike. ponovo sve isto.

nesto drugo da probam?

nn
[ bgd2500 @ 20.02.2007. 23:45 ] @
Ne znam sta drugo da ti kazem sem da proveris jos jednom dal si nakon dodavanja super.init() uradio refresh, odnosno deplojnuo novu verziju.

PS: Meni radi lepo, a bez super.init() puca upravo sa NullPointerException-om.
[ nemnesic @ 21.02.2007. 01:03 ] @
>


da li je moguce da je upitanju neki server settings?

nn
[ nemnesic @ 21.02.2007. 19:37 ] @
>

konacno sam resio problem.
ne mogu da verujem kakvu sam pocetnicku gresku naparavio.

"Evo Reeeseeenja"

ja iz init() sam zvao 2 funknije koje idu u DB uzimanju podatk, prave bean.
E sada, tu sam ja stavio
Code:
getServletConfig().getServletContext().setAttribute("srtHsBean",
srtHsBean);
!!!

getServletConfig() je razlicit od init(ServletConfig conf)!

zbog toga sada kada zovem ovde dve funkcije ja im posaljem conf kao
argument.
kako ovo nisam video ni sam ne znam!

u svakom slucaju bgd2500, hvalal ti!

pozdrav

nn