Archief - [PROG]-[JSP] Webproject werkt wel in Netbeans en niet in Tomcat

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

eniac

Legacy Member
Ja, lastig probleem. Deadline van het project ligt morgen, deployen in netbeans = perfect, maar als ik de .war file die netbeans aanmaakt unzip in de webapps directory van m'n tomcat server lukt het niet, ik krijg een nullpointerexception.

Nu, het lijkt me te liggen aan de databasetoegang, want als ik de files niet include die databaseaccess vereisen worden de pagina's wel ingeladen.

Maar waarom werkt het wel in netbeans, en niet in tomcat? Wat zou de oorzaak kunnen zijn?

Vich

Legacy Member
Ik heb zelf te weinig ervaring met Tomcat, dus:
Probeer eens op http://gathering.tweakers.net in het "programming&webscripting" forum, daar krijg je meestal snel antwoord. Ga in ieder geval daar je topic niet zelf kicken, want dan sluiten ze het direct. Good luck!

Maar gebruik altijd eerst hun search!

Ik quote:
Met dank aan die stacktrace en het herinstalleren van Tomcat, werkt het nu.
Het grootste probleem was denk ik dat Tomcat om één of andere reden de MySQL jar niet wilde gebruiken, terwijl deze toch op de juiste plek stond.

WHiSPy

Legacy Member
Als ge 'n nieuwe jar in de tomcat dir installeert, dan moet ge wel eens tomcat herstarten. :)

eniac

Legacy Member
WHiSPy zei:
Als ge 'n nieuwe jar in de tomcat dir installeert, dan moet ge wel eens tomcat herstarten. :)

Wel, van jars is eigenlijk geen sprake, het gaat om een war die ik ofwel in de webapps dir van tomcat zet, ofwel unzip in een map in de webapps dir. Beide oplossingen geven dezelfde NullPointerException.

Externe jars heb ik eigenlijk niet nodig in dit project (het is vrij summier).

Vich

Legacy Member
eniac zei:
...
Externe jars heb ik eigenlijk niet nodig in dit project (het is vrij summier).
Dus je gebruikt ook geen MySQL? Zie de quote in m'n vorig bericht en hetgene wat m'n collega-poster zegt ;)
Ook de search-functie van GoT gaf de hint al aan dat er vermoedelijk een probleem is met de installatie van MySQL. Je geeft zelf al aan op GoT dat het project wél werkt als je de MySQL functionaliteit niet gebruikt. Dús kan je proberen om:
- Kijken of MySQL wel geinstalleerd is voor Tomcat
- Kijken of MySQL goed geconfigureerd is voor Tomcat
- De Tomcat service te herstarten?
- Tomcat proberen herinstalleren?

En natuurlijk is er ook nog google:
http://www.google.nl/search?hl=nl&q=nullpointerexception+tomcat+mysql&meta=

eniac

Legacy Member
Neen, sorry, geen MySQL, het gaat om een connectie met een gewone Access database.

Tomcat service herstarten -> meermaals geprobeerd.

Tomcat herinstalleren -> voorlopig nog niet, maar andere webprojecten werken er wel goed mee... Ik zal dat dan best toch eens doen.

.Acku.

Legacy Member
Zou cool zijn mocht je aangeven waar je de NPE krijgt ;)
Als het al opgelost is, laat iets weten

eniac

Legacy Member
Die zou zich hier bevinden:
org.apache.jsp.index_jsp._jspService(org.apache.js p.index_jsp:306)

blokje code rond deze lijnen:
Code:
ArrayList artikelLijst = dbc.getArtikelLijst();
Iterator it = artikelLijst.iterator();
int i = 0;
while(it.hasNext() && i < 5){
Artikel a = (Artikel) it.next();
int aid = a.getArtikelID();
i++;
}

Lijn 306 is dan: int i = 0;

Ik zie het niet :)

.Acku.

Legacy Member
Waarschijnlijk is je artikellijst null door een databasefout bvb, heb je geen debug mode?

eniac

Legacy Member
Geen debug stuff wegens niet weten hoe dat te doen in een webproject.

En ik denk idd dat die database null is, meer bepaald dat de connectie met de database mislukt. In netbeans werkt alles perfect, dus het moet een systeemsetting zijn of een driverimport of whatever. Denk ik toch. Ik mankeer gewoon de kennis/ervaring om dit op te lossen :)

Project is nu al wel afgegeven, maar ik zou het wel graag nog opgelost zien eigenlijk.

.Acku.

Legacy Member
dbc zal dan null zijn, nuja, het is niet van hieruit op te lossen. Je zou moeten negaan wat je allemaal ingesteld hebt in netbeans om die Access connectie te kunnen gebruiken, waarschijnlijk mis je zulk een instelling in je aparte deploy

eniac

Legacy Member
.Acku. zei:
Je zou moeten negaan wat je allemaal ingesteld hebt in netbeans om die Access connectie te kunnen gebruiken, waarschijnlijk mis je zulk een instelling in je aparte deploy

Het moet zoiets zijn, alleen, ik heb zelf niks ingesteld om die connectie te gebruiken. Gewoon in Administrative Tools -> Data Sources (ODBC) de databank geregistreerd en die spreek ik vanuit m'n code aan.

dJeez

Legacy Member
Die server waar je het op draait is toch ook een Windows server mag ik hopen (voor u dan, mijn persoonlijke voorkeur zou uitgaan naar een Unix based OS - maar gezien je keuze voor Access ga ik er maar van uit dat je Windows gebruikt :p)? Zo ja, heb je op de server dan ook die User, System of File DSN gecreëerd, dat is dan wel een vereiste (sowieso zou ik eerder opteren voor werken zonder DSN maar soit, dat is persoonlijke voorkeur).

eniac

Legacy Member
Wow, dat is ff Chinees :)

Wat heb ik gedaan om het werkende te krijgen met netbeans:
- databank geregistreerd in odbc data sources (windows XP dus ja, het gaat om m'n eigen PC) onder de naam "blogbase"
- databank wordt in m'n code aangesproken met deze code:
Code:
        public void openDB(){
            try{
                Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
                con = DriverManager.getConnection("jdbc:odbc:blogbase", "", "");
            }
            catch(Exception e){ 
        	e.printStackTrace();
            }   
	}

Niet meer dan dat, en dat werkt dan perfect in NetBeans. Jij zegt dat ik nog meer moet doen om het standalone te doen werken via tomcat?

Vich

Legacy Member
Even offtopic:
Code schrijven in het Nederlands is "very fout" ;)
Als de opdrachtgever dat eiste, dan is dat heel erg fout van hem.

Waarom? Omdat er altijd een situatie kan zijn dat een buitenlands iemand(persoon of firma) later de code onder handen gaat krijgen en die persoon gaat er veel langer over moeten doen om die code te begrijpen. Ook is de programmeertaal zelf reeds in het Engels, dus dingen mixen is zowiezo erg irritant te lezen.

eniac

Legacy Member
Ik weet het, ik schrijf ook liever in het Engels hoor. Ik heb zelfs een boel moeten refactoren van Engels naar Nederlands omdat oorspronkelijk alles in het Engels stond.

.Acku.

Legacy Member
eniac zei:
Wow, dat is ff Chinees :)

Wat heb ik gedaan om het werkende te krijgen met netbeans:
- databank geregistreerd in odbc data sources (windows XP dus ja, het gaat om m'n eigen PC) onder de naam "blogbase"
- databank wordt in m'n code aangesproken met deze code:

Niet meer dan dat, en dat werkt dan perfect in NetBeans. Jij zegt dat ik nog meer moet doen om het standalone te doen werken via tomcat?

Ja misschien wel, misschien moet je dat ergens configureren voor Tomcat. Mocht je debug hebben je kon makkelikjk testen of:
con = DriverManager.getConnection("jdbc:odbc:blogbase", "", "");

werkt. Dan weet je meteen of het misgaat.

PS: debuggen is niet zo heel moeilijk. in Eclipse werkt het door gewoon debug te runnen ipv Run, of soms door te Remote Debuggen op een opgegeven poort. Staat wel ergens beschreven. Ik zou echt niet willen programmeren zonder

eniac

Legacy Member
Dit weekend eens debuggen, heb teveel werk nu aan oracle.

Ik laat hier wel iets horen.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan