aspose file tools*
The moose likes JSP and the fly likes JSP unable to find the class file Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » JSP
Bookmark "JSP unable to find the class file" Watch "JSP unable to find the class file" New topic
Author

JSP unable to find the class file

stu ware
Greenhorn

Joined: Feb 04, 2006
Posts: 15
Hi,

I am trying a simple jsp which is in the HFSJ.

My JSP file is BasicCounter.jsp

<html>
<body>
The page count is:
<%
out.println(Counter.getCount());
%>
</body>
</html>

My Counter.java file is
public class Counter
{
private static int count = 0;
public static synchronized int getCount()
{
count++;
return count;
}
}

The directory structure is like this.


webapps>exam>BasicCounter.jsp

webapps>exam>web-inf>classes>Counter.class

When I try to access the BasicCounter.jsp, I am getting the following exceptions.

exception

org.apache.jasper.JasperException: Unable to compile class for JSP

An error occurred at line: 4 in the jsp file: /BasicCounter.jsp
Generated servlet error:
Counter cannot be resolved


org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

root cause

org.apache.jasper.JasperException: Unable to compile class for JSP

An error occurred at line: 4 in the jsp file: /BasicCounter.jsp
Generated servlet error:
Counter cannot be resolved


org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:409)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:297)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:276)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:264)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:303)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

note The full stack trace of the root cause is available in the Apache Tomcat/5.5.15 logs.

Any feedback is higly appreciated.

Thanks.
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 61658
    
  67

Did you import the class?


[Asking smart questions] [Bear's FrontMan] [About Bear] [Books by Bear]
stu ware
Greenhorn

Joined: Feb 04, 2006
Posts: 15
Do I have to? I didnt place the class in any package. The class Counter.class is in directory classes.
Peter Sin
Ranch Hand

Joined: Jan 13, 2005
Posts: 547
Originally posted by vasu dupe:


<html>
<body>
The page count is:
<%
out.println(Counter.getCount());
%>
</body>
</html>




You haven't imported your java class in jsp. Please check how to import class in jsp. Hints : Add one statement.
[ March 06, 2006: Message edited by: Peter Sin ]
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 61658
    
  67

You cannot import a package-less class. Put the class in a package and then import it.
stu ware
Greenhorn

Joined: Feb 04, 2006
Posts: 15
Thanks. I got it.From this I understand that every class we develop should be in a package while using JSPs. Is that true.
Peter Sin
Ranch Hand

Joined: Jan 13, 2005
Posts: 547
Originally posted by vasu dupe:
Thanks. I got it.From this I understand that every class we develop should be in a package while using JSPs. Is that true.


Yes, only old version servlet container such as tomcat 3, maybe old version JVM, allows importing java class without package.
Jherald Lacambra
Ranch Hand

Joined: Feb 02, 2005
Posts: 129
why is it not allowed to import classes without package in the latter versions of web servers?


jherald
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 61658
    
  67

JDK 1.4 and on disallows the importing of package-less classes.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: JSP unable to find the class file