These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 8 posts ] 
Author Message
 Post subject: Exception thrown: class java.lang.NullPointerException
PostPosted: Wed Jul 12, 2006 12:27 pm 
Newbie

Joined: Fri Jul 07, 2006 7:33 am
Posts: 7
bonjour

je travaille sur un projet utilsant struts et hibernate.j'essaie d'enregistrer un formulaire mais la console m'affiche comme erreur:


[12/05/05 15:57:29:169 CEST] 00000022 RequestProces W Unhandled Exception thrown: class java.lang.NullPointerException
[12/05/05 15:57:29:185 CEST] 00000022 ServletWrappe E SRVE0068E: Impossible d'appeler la méthode service() sur le servlet action. Exception : javax.servlet.ServletException
at org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:545)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:486)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1212)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:629)
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:2837)
at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:220)
at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:204)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1681)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:77)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:421)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:367)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:94)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:548)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:601)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:934)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1021)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1332)
---- Begin backtrace for Nested Throwables
java.lang.NullPointerException
at com.sample.util.HibernateStrutsPlugIn.closeSession(HibernateStrutsPlugIn.java:70)
at com.sample.action.AddContactAction.execute(AddContactAction.java:86)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1212)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:629)
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:2837)
at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:220)
at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:204)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1681)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:77)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:421)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:367)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:94)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:548)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:601)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:934)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1021)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1332)

[12/05/05 15:57:29:232 CEST] 00000022 ServletWrappe E SRVE0014E: Cause root de l'exception non interceptée générée par la méthode service() action : java.lang.NullPointerException
at com.sample.util.HibernateStrutsPlugIn.closeSession(HibernateStrutsPlugIn.java:70)
at com.sample.action.AddContactAction.execute(AddContactAction.java:86)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1212)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:629)
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:2837)
at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:220)
at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:204)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1681)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:77)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:421)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:367)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:94)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:548)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:601)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:934)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1021)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1332)

[12/05/05 15:57:29:341 CEST] 00000022 WebApp E SRVE0026E: [Erreur de servlet]-[action]: java.lang.NullPointerException
at com.sample.util.HibernateStrutsPlugIn.closeSession(HibernateStrutsPlugIn.java:70)
at com.sample.action.AddContactAction.execute(AddContactAction.java:86)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1212)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:629)
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:2837)
at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:220)
at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:204)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1681)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:77)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:421)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:367)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:94)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:548)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:601)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:934)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1021)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1332)



ma servlet est :



public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest request, HttpServletResponse response)
throws Exception {

ActionErrors errors = new ActionErrors();
ActionForward forward = new ActionForward();

Transaction contactInsertTransaction = null;
Session session = null;

try {

DynaActionForm contactForm = (DynaActionForm) form;


HibernateStrutsPlugIn.currentSession();
contactInsertTransaction = session.beginTransaction();

Contact contact = new Contact();
contact.setId(Long.parseLong((String) contactForm.get("id"));
contact.setFirstName((String) contactForm.get("firstName"));
contact.setLastName((String) contactForm.get("lastName"));
contact.setEmail((String) contactForm.get("email"));
session.save(contact);


contactInsertTransaction.commit();


}
catch (HibernateException e) {
e.printStackTrace();
contactInsertTransaction.rollback();
forward = mapping.findForward("failure");

}
finally {
HibernateStrutsPlugIn.closeSession();
}
forward = mapping.findForward("sucess");


return (forward);
}


merci pour votre aide.


Top
 Profile  
 
 Post subject: Re: Exception thrown: class java.lang.NullPointerException
PostPosted: Thu Aug 03, 2006 4:51 am 
Newbie

Joined: Thu Aug 03, 2006 4:38 am
Posts: 6
Salut !
Ton probléme semble simple :


Il appelle la fonction service() et que cette fonction n'existe pas.
En d'autre termes, il y a un probléme de "versioning" entre tes fichiers ".jar". Il faut que tu cherche de ce coté là pour que tous tes "jar" soient en adéquation. Car les exceptions qui suivent découlent de ce probléme

(Par exemple, tu utilises un hibernate2.jar avec un cglib.2.1.3.jar ).
Il faut chercher dans la doc d'Hibernate ou d' Apache pour savoir quel jar doit etre avec quel jar.

En ésperant avoir répondu de façon claire à ta question !


Top
 Profile  
 
 Post subject: re
PostPosted: Fri Aug 04, 2006 5:16 am 
Newbie

Joined: Thu Mar 30, 2006 8:23 am
Posts: 19
Location: FRANCE 67
dans ton code le null pointer vient du fait que ta session est nulle t as oublié le session = ..

remplace la ligne suivante :

HibernateStrutsPlugIn.currentSession();

par :

session=HibernateStrutsPlugIn.currentSession();


Top
 Profile  
 
 Post subject: Re: re
PostPosted: Fri Aug 04, 2006 12:55 pm 
Newbie

Joined: Fri Jul 07, 2006 7:33 am
Posts: 7
bonjour

l'erreur était déjà corriger mais mnt je reçois comme erreur:
java.lang.NoClassDefFoundError :sample/db/HibernateUtil.
pourtant la classe existe .
merci.


Top
 Profile  
 
 Post subject:
PostPosted: Mon Aug 07, 2006 3:01 am 
Newbie

Joined: Thu Aug 03, 2006 4:38 am
Posts: 6
java.lang.NoClassDefFoundError signifie que ta JVM ou ton compilateur suivant le cas ne trouve pas la classe HibernateUtil du package sample.db.
Si la classe HibernateUtil et la classe qui fait appel à elle ne sont pas dans le même projet (ce qui me semble le cas vu ton message d'erreur) c'est que tu dois indiquait le projet où se trouve la classe HibernateUtil dans les propriétés de ton projet où cette classe est utilisée.

Si c'est pas c'est pas ça, il faudrait que tu me donnes la log en entier pour voir d'(où te vient cette erreur !


Top
 Profile  
 
 Post subject: java.lang.NoClassDefFoundError !!!
PostPosted: Mon Aug 07, 2006 7:45 am 
Newbie

Joined: Fri Jul 07, 2006 7:33 am
Posts: 7
bonjour
merci pour ton soutien.sachez que la classe HibernateUtil et la servlet sont dans le meme projet mais dans des packages differents.
merci.
voilà ce que je reçois comme erreur:

[07/06/05 11:41:25:531 CEST] 0000002c ServletWrappe E SRVE0068E: Impossible d'appeler la méthode service() sur le servlet action. Exception : java.lang.NoClassDefFoundError: sample/actions/HibernateUtil
at sample.actions.AddContactAction.execute(AddContactAction.java:70)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1212)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:629)
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:2837)
at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:220)
at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:204)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1681)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:77)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:421)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:367)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:94)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:548)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:601)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:934)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1021)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1332)


Top
 Profile  
 
 Post subject:
PostPosted: Mon Aug 07, 2006 8:10 am 
Newbie

Joined: Thu Aug 03, 2006 4:38 am
Posts: 6
Peux-tu me donner ton code-source entier de de ta servlet.
Ainsi que les noms de tes jars ?

Moi j'utilise :
antlr-2.7.6rc1.jar
asm.jar
avalon-framework-4.1.4.jar
castor-0.9.5.3.jar
cglib-2.1.3.jar
commons-collections-2.1.jar
dom4j-1.6.1.jar
ehcache-1.1.jar
hibernate3.jar
ojdbc14.jar

(je pense que tu as pas besoin de tous les jars)

Mais je reste sur mon idée que c'est un probléme de jars


Top
 Profile  
 
 Post subject: RE: java.lang.NoClassDefFoundError
PostPosted: Mon Aug 07, 2006 8:26 am 
Newbie

Joined: Fri Jul 07, 2006 7:33 am
Posts: 7
salut
les fichiers jar que j'utilise sont:
antlr-2.7.6rc1.jar
hibernate3.jar
log4j-1.2.11.jar
asm-attrs.jar
ehcache-1.1.jar
cglib-2.1.3.jar
dom4j-1.6.1.jar
asm.jar
db2j.jar

sacher que j'utilise hibernate Synchronizer 3.1.9 avec hibernate 3.2.je travaille comme outil RAD v6.0 [evaluation] dont websphere est intégré.
le code de ma servlet est:

package sample.actions;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
//import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.hibernate.HibernateException;
import org.hibernate.Session;



import sample.beans.Contact;
import sample.actions.HibernateUtil;
import sample.forms.ContactForm;

/**
* @version 1.0
* @author
*/
public class AddContactAction extends Action

{

public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest request, HttpServletResponse response)
throws HibernateException, Exception {

ActionErrors errors = new ActionErrors();
ActionForward forward = new ActionForward();

Session session=null;



try {
// Get instance of contactForm for reading values submitted through form
ContactForm c = (ContactForm) form;

session = HibernateUtil.currentSession();


//Person aPerson = (Person) session.load(Person.class, personId);

session.beginTransaction();
//Create new instance of Contact and set values in it by reading them from form object
Contact contact = new Contact();
contact.setId(Long.parseLong((String) c.getId()));
contact.setFirstName((String) c.getFirstname());
contact.setLastName((String) c.getLastname());
contact.setEmail((String) c.getEmail());
session.save(contact);


session.getTransaction().commit();

request.setAttribute("displayContact", contact);


} catch (HibernateException e) {
//If some thing goes wrong show failure page to user
e.printStackTrace();
session.getTransaction().rollback();
forward = mapping.findForward("failure");

} finally {
// Actual contact insertion will happen at this step
HibernateUtil.closeSession();

}
forward = mapping.findForward("sucess");


// If everything goes as per plan show contact details to user.
return (forward);
}

}


merci.


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 8 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
cron
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.