I keep getting this odd Jasper Exception error every time I try to run a JSP page that is calling an outside library. It works fine with the Java default libs but when using a third party library, it gives me a compile error. Here is a sample of my .jsp file:
<%@page import="com.avaya.phones.*,java.net.*,java.util.HashMap,
java.util.StringTokenizer,java.util.ArrayList,java.io.File;" %>
<%@page errorPage="error.jsp" %>
<html>
<body>
<%
response.setHeader("Cache-Control","no-cache"); //HTTP 1.1
response.setHeader("Pragma","no-cache"); //HTTP 1.0
response.setDateHeader ("Expires", 0); //prevents caching at the proxy server
%>
<%!
String wml="",selected="",audio="",trans_status="";
String message="",alert="",mode="",xml="",title="";
HashMap<String, String> keyValuePair = new HashMap<String, String>();
int j =0,timeout=0;
String tempStatus="";
%>
<%
//Don't make it instance variabe, otherwise it will
//remember earlier IP Addresses as well
ArrayList<String> phoneIp = new ArrayList<String>();
//Set session attribute
selected=session.getAttribute("Selected").toString();
//Set hashmap value
keyValuePair.put("Hello", "23");
keyValuePair.put("Hello World", "22");
//phoneip
StringTokenizer st = new StringTokenizer(request.getParameter("phoneip"));
while(st.hasMoreElements())
{
phoneIp.add(st.nextToken());
}
if(phoneIp.isEmpty()) {
%>
.......
The error I get from this code is this:
HTTP Status 500 -
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: 11 in the jsp file: /sampleApplication/call_function.jsp
Generated servlet error:
Syntax error on token "<", delete this token
An error occurred at line: 11 in the jsp file: /sampleApplication/call_function.jsp
Generated servlet error:
Syntax error on token ">", , expected
An error occurred at line: 11 in the jsp file: /sampleApplication/call_function.jsp
Generated servlet error:
Syntax error on token "<", ( expected
An error occurred at line: 11 in the jsp file: /sampleApplication/call_function.jsp
Generated servlet error:
Syntax error on token "(", invalid Expression
An error occurred at line: 18 in the jsp file: /sampleApplication/call_function.jsp
Generated servlet error:
Syntax error on token "<", invalid AssignmentOperator
An error occurred at line: 18 in the jsp file: /sampleApplication/call_function.jsp
Generated servlet error:
Syntax error on token "=", != expected
An error occurred at line: 18 in the jsp file: /sampleApplication/call_function.jsp
Generated servlet error:
Syntax error on token "<", ( expected
An error occurred at line: 18 in the jsp file: /sampleApplication/call_function.jsp
Generated servlet error:
Syntax error on token "(", invalid Expression
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:397)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:288)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:556)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:293)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
I am using Tomcat 5.5 as a servlet. It is running on port 8080 and I have the following Environmental variables.
CATALINA_HOME = C:\Program Files\Apache Software Foundation\Tomcat 5.5\
CLASSPATH = .;.;.;C:\PROGRA~1\JMF21~1.1E\lib\sound.jar;
C:\PROGRA~1\JMF21~1.1E\lib\jmf.jar;C:\PROGRA~1\JMF21~1.1E\lib;
C:\WINDOWS\java\classes;.
JAVA_HOME = C:\Program Files\Java\jdk1.6.0_06
System Variables:
path = C:\Program Files\Java\jdk1.6.0_06\bin
I have traced the problem to the java.util.HashMap import. If I comment those out, then it works fine, but of course then my program doesn't run. For some reason it isn't getting the imports. Is there anything I have missed that would make it not be able to import?