mike9483
asked on
Servlet not working
Hi I have moved my existing web app from JBoss to Tomcat 6.0. The web app has deployed mostly successfully but I am battling to get a servlet to run on the new web app. I am getting a class not found error. I have checked the web.xml files and I believe configuration is correct. Please help.
The stack trace error I am getting is as follows:
Nov 2, 2011 11:54:43 AM org.apache.catalina.core.A pplication Context log
INFO: Marking servlet FileDownload as unavailable
Nov 2, 2011 11:54:43 AM org.apache.catalina.core.S tandardWra pperValve invoke
SEVERE: Allocate exception for servlet FileDownload
java.lang.ClassNotFoundExc eption: javax.ejb.CreateException
at org.apache.catalina.loader .WebappCla ssLoader.l oadClass(W ebappClass Loader.jav a:1680)
at org.apache.catalina.loader .WebappCla ssLoader.l oadClass(W ebappClass Loader.jav a:1526)
at java.lang.Class.getDeclare dMethods0( Native Method)
at java.lang.Class.privateGet DeclaredMe thods(Unkn own Source)
at java.lang.Class.getDeclare dMethods(U nknown Source)
at org.apache.catalina.util.D efaultAnno tationProc essor.proc essAnnotat ions(Defau ltAnnotati onProcesso r.java:226 )
at org.apache.catalina.core.S tandardWra pper.loadS ervlet(Sta ndardWrapp er.java:11 20)
at org.apache.catalina.core.S tandardWra pper.alloc ate(Standa rdWrapper. java:809)
at org.apache.catalina.core.S tandardWra pperValve. invoke(Sta ndardWrapp erValve.ja va:129)
at org.apache.catalina.core.S tandardCon textValve. invoke(Sta ndardConte xtValve.ja va:191)
at org.apache.catalina.core.S tandardHos tValve.inv oke(Standa rdHostValv e.java:127 )
at org.apache.catalina.valves .ErrorRepo rtValve.in voke(Error ReportValv e.java:102 )
at org.apache.catalina.core.S tandardEng ineValve.i nvoke(Stan dardEngine Valve.java :109)
at org.apache.catalina.connec tor.Coyote Adapter.se rvice(Coyo teAdapter. java:298)
at org.apache.coyote.http11.H ttp11Proce ssor.proce ss(Http11P rocessor.j ava:859)
at org.apache.coyote.http11.H ttp11Proto col$Http11 Connection Handler.pr ocess(Http 11Protocol .java:588)
at org.apache.tomcat.util.net .JIoEndpoi nt$Worker. run(JIoEnd point.java :489)
at java.lang.Thread.run(Unkno wn Source)
Extract from web.xml is as follows:
<servlet>
<servlet-name>FileDownload </servlet- name>
<servlet-class>za.co.oneTw oOne.servl ets.FileDo wnload</se rvlet-clas s>
</servlet>
<servlet-mapping>
<servlet-name>FileDownload </servlet- name>
<url-pattern>/FileDownload </url-patt ern>
</servlet-mapping>
The FileDownload class is located in /WEB-INF/classes/za.co.one TwoOne.ser vlets
Please help.
The stack trace error I am getting is as follows:
Nov 2, 2011 11:54:43 AM org.apache.catalina.core.A
INFO: Marking servlet FileDownload as unavailable
Nov 2, 2011 11:54:43 AM org.apache.catalina.core.S
SEVERE: Allocate exception for servlet FileDownload
java.lang.ClassNotFoundExc
at org.apache.catalina.loader
at org.apache.catalina.loader
at java.lang.Class.getDeclare
at java.lang.Class.privateGet
at java.lang.Class.getDeclare
at org.apache.catalina.util.D
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.connec
at org.apache.coyote.http11.H
at org.apache.coyote.http11.H
at org.apache.tomcat.util.net
at java.lang.Thread.run(Unkno
Extract from web.xml is as follows:
<servlet>
<servlet-name>FileDownload
<servlet-class>za.co.oneTw
</servlet>
<servlet-mapping>
<servlet-name>FileDownload
<url-pattern>/FileDownload
</servlet-mapping>
The FileDownload class is located in /WEB-INF/classes/za.co.one
Please help.
put j2ee.jar in classpath.
why ejb exception is coming FileDownload servlet class;
to work servlet only servlet related jars are required.but ur errro states that it requires j2ee-1.4.jar in classpath.
put j2ee-1.4.jar tomcat/comon/lib folder.
ASKER
Doing that creates a conflict when starting Tomcat:
INFO: Starting Servlet Engine: Apache Tomcat/6.0.32
java.lang.reflect.Invocati onTargetEx ception
at sun.reflect.NativeMethodAc cessorImpl .invoke0(N ative Method)
at sun.reflect.NativeMethodAc cessorImpl .invoke(Un known Source)
at sun.reflect.DelegatingMeth odAccessor Impl.invok e(Unknown Source)
at java.lang.reflect.Method.i nvoke(Unkn own Source)
at org.apache.catalina.startu p.Bootstra p.start(Bo otstrap.ja va:289)
at org.apache.catalina.startu p.Bootstra p.main(Boo tstrap.jav a:414)
Caused by: java.lang.NoSuchMethodErro r: javax.servlet.ServletConte xt.getCont extPath()L java/lang/ String;
at org.apache.catalina.core.S tandardHos t$MemoryLe akTracking Listener.l ifecycleEv ent(Standa rdHost.jav a:616)
at org.apache.catalina.util.L ifecycleSu pport.fire LifecycleE vent(Lifec ycleSuppor t.java:142 )
at org.apache.catalina.core.S tandardCon text.start (StandardC ontext.jav a:4699)
at org.apache.catalina.core.C ontainerBa se.start(C ontainerBa se.java:10 53)
at org.apache.catalina.core.S tandardHos t.start(St andardHost .java:840)
at org.apache.catalina.core.C ontainerBa se.start(C ontainerBa se.java:10 53)
at org.apache.catalina.core.S tandardEng ine.start( StandardEn gine.java: 463)
at org.apache.catalina.core.S tandardSer vice.start (StandardS ervice.jav a:525)
at org.apache.catalina.core.S tandardSer ver.start( StandardSe rver.java: 754)
at org.apache.catalina.startu p.Catalina .start(Cat alina.java :595)
... 6 more
servlet-api.jar is already loaded in the classpath.
INFO: Starting Servlet Engine: Apache Tomcat/6.0.32
java.lang.reflect.Invocati
at sun.reflect.NativeMethodAc
at sun.reflect.NativeMethodAc
at sun.reflect.DelegatingMeth
at java.lang.reflect.Method.i
at org.apache.catalina.startu
at org.apache.catalina.startu
Caused by: java.lang.NoSuchMethodErro
at org.apache.catalina.core.S
at org.apache.catalina.util.L
at org.apache.catalina.core.S
at org.apache.catalina.core.C
at org.apache.catalina.core.S
at org.apache.catalina.core.C
at org.apache.catalina.core.S
at org.apache.catalina.core.S
at org.apache.catalina.core.S
at org.apache.catalina.startu
... 6 more
servlet-api.jar is already loaded in the classpath.
why ejb exception is coming in your servlet code?
show ur code
me
javax.ejb.CreateException
show ur code
me
javax.ejb.CreateException
remove j2ee.jar
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.