fyness
asked on
Uploading files with Jsp and struts
Hey
Am using struts to do upload of files from clients (with jsps) and i'm getting the following error
--------------------------
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletExcep
org.apache.struts.action.R
org.apache.struts.action.R
org.apache.struts.action.R
org.apache.struts.action.A
org.apache.struts.action.A
javax.servlet.http.HttpSer
javax.servlet.http.HttpSer
root cause
java.lang.NullPointerExcep
ie.sentenial.application.a
org.apache.struts.action.R
org.apache.struts.action.R
org.apache.struts.action.A
org.apache.struts.action.A
javax.servlet.http.HttpSer
javax.servlet.http.HttpSer
note The full stack trace of the root cause is available in the Tomcat logs.
ANyone know what the problem is???
Thakns
WHat is the line of the exception? Can you also post the full stack trace from Tomcat's logs?
please also post UploadAction.execute()
ASKER
tomcat logs was
2004-11-17 12:41:51 StandardWrapperValve[actio n]: Servlet.service() for servlet action threw exception
java.lang.NullPointerExcep tion
at ie.sentenial.application.a ctions.Upl oadAction. execute(Un known Source)
at org.apache.struts.action.R equestProc essor.proc essActionP erform(Req uestProces sor.java:4 84)
at org.apache.struts.action.R equestProc essor.proc ess(Reques tProcessor .java:274)
at org.apache.struts.action.A ctionServl et.process (ActionSer vlet.java: 1482)
at org.apache.struts.action.A ctionServl et.doGet(A ctionServl et.java:50 7)
at javax.servlet.http.HttpSer vlet.servi ce(HttpSer vlet.java: 743)
at javax.servlet.http.HttpSer vlet.servi ce(HttpSer vlet.java: 856)
at org.apache.catalina.core.A pplication FilterChai n.internal DoFilter(A pplication FilterChai n.java:284 )
at org.apache.catalina.core.A pplication FilterChai n.doFilter (Applicati onFilterCh ain.java:2 04)
at org.apache.catalina.core.S tandardWra pperValve. invoke(Sta ndardWrapp erValve.ja va:257)
at org.apache.catalina.core.S tandardVal veContext. invokeNext (StandardV alveContex t.java:151 )
at org.apache.catalina.core.S tandardPip eline.invo ke(Standar dPipeline. java:567)
at org.apache.catalina.core.S tandardCon textValve. invokeInte rnal(Stand ardContext Valve.java :245)
at org.apache.catalina.core.S tandardCon textValve. invoke(Sta ndardConte xtValve.ja va:199)
at org.apache.catalina.core.S tandardVal veContext. invokeNext (StandardV alveContex t.java:151 )
at org.apache.catalina.core.S tandardPip eline.invo ke(Standar dPipeline. java:567)
at org.apache.catalina.core.S tandardHos tValve.inv oke(Standa rdHostValv e.java:184 )
at org.apache.catalina.core.S tandardVal veContext. invokeNext (StandardV alveContex t.java:151 )
at org.apache.catalina.valves .ErrorRepo rtValve.in voke(Error ReportValv e.java:164 )
at org.apache.catalina.core.S tandardVal veContext. invokeNext (StandardV alveContex t.java:149 )
at org.apache.catalina.core.S tandardPip eline.invo ke(Standar dPipeline. java:567)
at org.apache.catalina.core.S tandardEng ineValve.i nvoke(Stan dardEngine Valve.java :156)
at org.apache.catalina.core.S tandardVal veContext. invokeNext (StandardV alveContex t.java:151 )
at org.apache.catalina.core.S tandardPip eline.invo ke(Standar dPipeline. java:567)
at org.apache.catalina.core.C ontainerBa se.invoke( ContainerB ase.java:9 72)
at org.apache.coyote.tomcat5. CoyoteAdap ter.servic e(CoyoteAd apter.java :206)
at org.apache.coyote.http11.H ttp11Proce ssor.proce ss(Http11P rocessor.j ava:833)
at org.apache.coyote.http11.H ttp11Proto col$Http11 Connection Handler.pr ocessConne ction(Http 11Protocol .java:732)
at org.apache.tomcat.util.net .TcpWorker Thread.run It(PoolTcp Endpoint.j ava:619)
at org.apache.tomcat.util.thr eads.Threa dPool$Cont rolRunnabl e.run(Thre adPool.jav a:688)
at java.lang.Thread.run(Threa d.java:534 )
2004-11-17 12:41:51 StandardWrapperValve[actio n]: Servlet.service() for servlet action threw exception
java.lang.NullPointerExcep tion
at ie.sentenial.application.a ctions.Upl oadAction. execute(Un known Source)
at org.apache.struts.action.R equestProc essor.proc essActionP erform(Req uestProces sor.java:4 84)
at org.apache.struts.action.R equestProc essor.proc ess(Reques tProcessor .java:274)
at org.apache.struts.action.A ctionServl et.process (ActionSer vlet.java: 1482)
at org.apache.struts.action.A ctionServl et.doGet(A ctionServl et.java:50 7)
at javax.servlet.http.HttpSer vlet.servi ce(HttpSer vlet.java: 743)
at javax.servlet.http.HttpSer vlet.servi ce(HttpSer vlet.java: 856)
at org.apache.catalina.core.A pplication FilterChai n.internal DoFilter(A pplication FilterChai n.java:284 )
at org.apache.catalina.core.A pplication FilterChai n.doFilter (Applicati onFilterCh ain.java:2 04)
at org.apache.catalina.core.S tandardWra pperValve. invoke(Sta ndardWrapp erValve.ja va:257)
at org.apache.catalina.core.S tandardVal veContext. invokeNext (StandardV alveContex t.java:151 )
at org.apache.catalina.core.S tandardPip eline.invo ke(Standar dPipeline. java:567)
at org.apache.catalina.core.S tandardCon textValve. invokeInte rnal(Stand ardContext Valve.java :245)
at org.apache.catalina.core.S tandardCon textValve. invoke(Sta ndardConte xtValve.ja va:199)
at org.apache.catalina.core.S tandardVal veContext. invokeNext (StandardV alveContex t.java:151 )
at org.apache.catalina.core.S tandardPip eline.invo ke(Standar dPipeline. java:567)
at org.apache.catalina.core.S tandardHos tValve.inv oke(Standa rdHostValv e.java:184 )
at org.apache.catalina.core.S tandardVal veContext. invokeNext (StandardV alveContex t.java:151 )
at org.apache.catalina.valves .ErrorRepo rtValve.in voke(Error ReportValv e.java:164 )
at org.apache.catalina.core.S tandardVal veContext. invokeNext (StandardV alveContex t.java:149 )
at org.apache.catalina.core.S tandardPip eline.invo ke(Standar dPipeline. java:567)
at org.apache.catalina.core.S tandardEng ineValve.i nvoke(Stan dardEngine Valve.java :156)
at org.apache.catalina.core.S tandardVal veContext. invokeNext (StandardV alveContex t.java:151 )
at org.apache.catalina.core.S tandardPip eline.invo ke(Standar dPipeline. java:567)
at org.apache.catalina.core.C ontainerBa se.invoke( ContainerB ase.java:9 72)
at org.apache.coyote.tomcat5. CoyoteAdap ter.servic e(CoyoteAd apter.java :206)
at org.apache.coyote.http11.H ttp11Proce ssor.proce ss(Http11P rocessor.j ava:833)
at org.apache.coyote.http11.H ttp11Proto col$Http11 Connection Handler.pr ocessConne ction(Http 11Protocol .java:732)
at org.apache.tomcat.util.net .TcpWorker Thread.run It(PoolTcp Endpoint.j ava:619)
at org.apache.tomcat.util.thr eads.Threa dPool$Cont rolRunnabl e.run(Thre adPool.jav a:688)
at java.lang.Thread.run(Threa d.java:534 )
Upload action
public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response )
{
UploadActionForm f = (UploadActionForm)form ;
try {
InputStream fileInput = f.getFile().getInputStream () ;
// do stuff with the input stream to read the file in, then close it
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
if(request.getParameter("a ction") == null || request.getParameter("acti on").equal sIgnoreCas e(null))
{
return (mapping.findForward("uplo ad"));
}
else if(request.getParameter("a ction").eq uals("form "))
{
return (mapping.findForward("uplo ad"));
}
else
{
return (mapping.findForward("uplo ad"));
}
}
2004-11-17 12:41:51 StandardWrapperValve[actio
java.lang.NullPointerExcep
at ie.sentenial.application.a
at org.apache.struts.action.R
at org.apache.struts.action.R
at org.apache.struts.action.A
at org.apache.struts.action.A
at javax.servlet.http.HttpSer
at javax.servlet.http.HttpSer
at org.apache.catalina.core.A
at org.apache.catalina.core.A
at org.apache.catalina.core.S
at org.apache.catalina.core.S
at org.apache.catalina.core.S
at org.apache.catalina.core.S
at org.apache.catalina.core.S
at org.apache.catalina.core.S
at org.apache.catalina.core.S
at org.apache.catalina.core.S
at org.apache.catalina.core.S
at org.apache.catalina.valves
at org.apache.catalina.core.S
at org.apache.catalina.core.S
at org.apache.catalina.core.S
at org.apache.catalina.core.S
at org.apache.catalina.core.S
at org.apache.catalina.core.C
at org.apache.coyote.tomcat5.
at org.apache.coyote.http11.H
at org.apache.coyote.http11.H
at org.apache.tomcat.util.net
at org.apache.tomcat.util.thr
at java.lang.Thread.run(Threa
2004-11-17 12:41:51 StandardWrapperValve[actio
java.lang.NullPointerExcep
at ie.sentenial.application.a
at org.apache.struts.action.R
at org.apache.struts.action.R
at org.apache.struts.action.A
at org.apache.struts.action.A
at javax.servlet.http.HttpSer
at javax.servlet.http.HttpSer
at org.apache.catalina.core.A
at org.apache.catalina.core.A
at org.apache.catalina.core.S
at org.apache.catalina.core.S
at org.apache.catalina.core.S
at org.apache.catalina.core.S
at org.apache.catalina.core.S
at org.apache.catalina.core.S
at org.apache.catalina.core.S
at org.apache.catalina.core.S
at org.apache.catalina.core.S
at org.apache.catalina.valves
at org.apache.catalina.core.S
at org.apache.catalina.core.S
at org.apache.catalina.core.S
at org.apache.catalina.core.S
at org.apache.catalina.core.S
at org.apache.catalina.core.C
at org.apache.coyote.tomcat5.
at org.apache.coyote.http11.H
at org.apache.coyote.http11.H
at org.apache.tomcat.util.net
at org.apache.tomcat.util.thr
at java.lang.Thread.run(Threa
Upload action
public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response )
{
UploadActionForm f = (UploadActionForm)form ;
try {
InputStream fileInput = f.getFile().getInputStream
// do stuff with the input stream to read the file in, then close it
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
if(request.getParameter("a
{
return (mapping.findForward("uplo
}
else if(request.getParameter("a
{
return (mapping.findForward("uplo
}
else
{
return (mapping.findForward("uplo
}
}
And the line the error was thrown?
ASKER
i dont know what line threw the error
ASKER
would prob be
else if(request.getParameter("a ction").eq uals("form "))
{
return (mapping.findForward("uplo ad"));
}
else if(request.getParameter("a
{
return (mapping.findForward("uplo
}
Ok we can start by the most obvious. Can you make sure that the file "f" is not null? Put a Systsem.out statement and see if it is null: System.out.println("f: " + f);
I'd suggest you put a few System.out statements and see what is null. Then we can go on from there.
ASKER
the file should be empty at the moment becuase nothign has been uploaded yet...i get this error when i try go to the jsp that will allow a client to upload a file f
fyness,
did u defined UploadActionForm as the form bean for u action in strutsconfig.xml?
please post ur action definition in strutsconfig.xml
did u defined UploadActionForm as the form bean for u action in strutsconfig.xml?
please post ur action definition in strutsconfig.xml
ASKER
yep
<form-bean name="uploadActionForm" type="application.forms.Up loadAction Form" />
<action path="/dataUploadAction"
type="ie.sentenial.applica tion.actio ns.UploadA ction"
scope="request">
</action>
<action path="/upload"
type="ie.sentenial.applica tion.actio ns.UploadA ction"
scope="request">
</action>
<form-bean name="uploadActionForm" type="application.forms.Up
<action path="/dataUploadAction"
type="ie.sentenial.applica
scope="request">
</action>
<action path="/upload"
type="ie.sentenial.applica
scope="request">
</action>
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Venabili
I think I answered and deserve the Acceptance for my last comment
I think I answered and deserve the Acceptance for my last comment
I also think permagdy's last comment is the valid answer.