I’m getting an exception when i have my jsp file on the webserver, it says the following:
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: 6 in the generated java file
Only a type can be imported. edu.byu.isys413.data.Customer resolves to a package
An error occurred at line: 124 in the jsp file: /account.jsp
Customer cannot be resolved to a type
121: <tr valign=top>
122: <td height=19></td>
123: <% if (session.getAttribute("customer") != null) {
124: Customer c = (Customer) session.getAttribute("customer");%>
125: <td align="center"><%="Welcome " + c.getFirstName() + "!"%></td>
126: <% }%>
127: <td height=19></td>
An error occurred at line: 124 in the jsp file: /account.jsp
Customer cannot be resolved to a type
121: <tr valign=top>
122: <td height=19></td>
123: <% if (session.getAttribute("customer") != null) {
124: Customer c = (Customer) session.getAttribute("customer");%>
125: <td align="center"><%="Welcome " + c.getFirstName() + "!"%></td>
126: <% }%>
127: <td height=19></td>
Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:439)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:356)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:321)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
And the jsp page look like
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ page import="edu.Customer" %>
<% if (session.getAttribute("customer") != null) {
Customer c = (Customer) session.getAttribute("customer");%>
<td align="center"><%="Welcome " + c.getFirstName() + "!"%></td>
<% }%>
I know a lot of people posted here the same problem, but Im certainly sure that the Customer.java is under /WEB-INF/classes/edu/Customer.java. So is there any other configuration problem here? I’m using IIS that connect to tomcat. I can get to the file alright, but I cant compile the JSP.
Thank you in advance.
You need the compiled class file instead of the raw Java source file. So, you must have a
/WEB-INF/classes/edu/Customer.class.You can use
javacto compile Java source files to class files. Or consider using an IDE like Eclipse, IntelliJ or Netbeans when you’ve already a good grasp on manually building/compiling Java projects and a good understanding of the phenomenon “classpath”. The IDE will then do it all automagically for you.