• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

JSP unable to find the class file

 
stu ware
Greenhorn
Posts: 15
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Pie
Posts: 64178
83
IntelliJ IDE Java jQuery Mac Mac OS X
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Did you import the class?
 
stu ware
Greenhorn
Posts: 15
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Do I have to? I didnt place the class in any package. The class Counter.class is in directory classes.
 
Peter Sin
Ranch Hand
Posts: 547
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Pie
Posts: 64178
83
IntelliJ IDE Java jQuery Mac Mac OS X
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You cannot import a package-less class. Put the class in a package and then import it.
 
stu ware
Greenhorn
Posts: 15
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 547
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 129
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
why is it not allowed to import classes without package in the latter versions of web servers?
 
Bear Bibeault
Author and ninkuma
Marshal
Pie
Posts: 64178
83
IntelliJ IDE Java jQuery Mac Mac OS X
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
JDK 1.4 and on disallows the importing of package-less classes.
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic