• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Unable to compile class for JSP:

 
Greenhorn
Posts: 9
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi I have Simple jsp pagewhich reads a parameter and returns an xml string.When i try to call this page i get the following error on the page

09-May-2008 11:34:50 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet jsp threw exception
org.apache.jasper.JasperException: Unable to compile class for JSP:


Stacktrace:
at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:85)
at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:415)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:308)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:273)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:308)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
at java.lang.Thread.run(Thread.java:595)



Here is my Jsp Page
-------------------
<%!

String str=null;
%>
<%
String searchCode = request.getParameter("sinput");
System.out.println("searchCode = " + searchCode);

if (searchCode.equals("cars"))
{
str = "<search-results>" +
"<total>2</total>" +
"<result>" +
"<code>1</code>" +
"<name>Ford Focus</name>" +
"<price>10000.00</price>" +
"</result>" +
"<result>" +
"<code>2</code>" +
"<name>Audi A4</name>" +
"<price>20000.00</price>" +
"</result>" +
"</search-results>";
}
else if(searchCode.equals("computers"))
{
str = "<search-results>" +
"<total>2</total>" +
"<result>" +
"<code>3</code>" +
"<name>Dell Inspiron</name>" +
"<price>500.00</price>" +
"</result>" +
"<result>" +
"<code>4</code>" +
"<name>IBM</name>" +
"<price>800.00</price>" +
"</result>" +
"</search-results>";
}

%>
<%= str %>
 
Ajay Kumar bathula
Greenhorn
Posts: 9
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I use "apache-tomcat-6.0.10" and JDK 1.5
 
Sheriff
Posts: 13411
Firefox Browser VI Editor Redhat
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
In the Tomcat logs, is there a "Root cause" section right after that stack trace?

This usually points to the problem in the JSP.

Also, once you get this to compile, you might want to change your JSP so it doesn't use an instance variable that gets changed from the service method.
The way it is written now is not thread safe.
 
Ajay Kumar bathula
Greenhorn
Posts: 9
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Ben

Thanks for your Reply. The stack trace i have given abouve is from the log file lacated at C:\apache-tomcat-6.0.10\logs\localhost.2008-05-12 file.
For the suggestion you gave to remove the instance variable, I have done that but of no use, I still get the same compilation error. There is no root cause section in the Logs I will give the complete stack trace once again for your reference from the logs.

12-May-2008 05:51:36 org.apache.catalina.core.ApplicationContext log
INFO: default: init
12-May-2008 05:51:36 org.apache.catalina.core.ApplicationContext log
INFO: jsp: init
12-May-2008 05:51:36 org.apache.catalina.core.ApplicationContext log
INFO: default: init
12-May-2008 05:51:36 org.apache.catalina.core.ApplicationContext log
INFO: jsp: init
12-May-2008 05:51:37 org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextInitialized()
12-May-2008 05:51:37 org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextInitialized()
12-May-2008 05:51:37 org.apache.catalina.core.ApplicationContext log
INFO: default: init
12-May-2008 05:51:37 org.apache.catalina.core.ApplicationContext log
INFO: jsp: init
12-May-2008 05:51:37 org.apache.catalina.core.ApplicationContext log
INFO: default: init
12-May-2008 05:51:37 org.apache.catalina.core.ApplicationContext log
INFO: jsp: init
12-May-2008 05:52:16 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet jsp threw exception
org.apache.jasper.JasperException: Unable to compile class for JSP:


Stacktrace:
at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:85)
at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:415)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:308)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:273)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:308)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
at java.lang.Thread.run(Thread.java:595)
 
Ben Souther
Sheriff
Posts: 13411
Firefox Browser VI Editor Redhat
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Does the user under which Tomcat is running have sufficient permissions to write to the $CATALINA_HOME/work directory?
 
Ajay Kumar bathula
Greenhorn
Posts: 9
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Ben

I am not sure what you are talking about? I just have a simple jsp page which should return a string thats it. I deploy my web application through ant and call my page from the browser. I dont have any other servlet or any other configuration details in my web.xml file. This was working fine previously i don't know why this is happenning Now? Here is the snippet of my web.xml file.
 
Ajay Kumar bathula
Greenhorn
Posts: 9
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Ben

Here is the Code of the Servlet that is generated after my jsp is converted to servlet. I only have the tomcat jars in my project library and there are no compilation error that i could see in intellij for the generated Servlet. Then why the server is complaining about compilation errors. The jars that i have in my projectlibrary are
  • jasper-el.jar
  • servlet-api
  • jsp-api
  • jasper-el
  • jasper
  • catalina-ant


  • Here is the servlet code
     
    reply
      Bookmark Topic Watch Topic
    • New Topic