T
Teresa
Hello all,
I'm trying to deploy the examples you can get from BusinessObjects.com
for learning how to display reports over the web. I'm using Netbeans
4.1 along with the built in Tomcat to do this. It's been years since
I worked with JSP and Tomcat, and it seems to me that things have
changed a bit...
I have the directory structure:
c:\backup\crexamples\web\WEB-INF\classes
c:\backup\crexamples\web\WEB-INF\lib
c:\backup\crexamples\web\WEB-INF\lib\{crystal jar files etc}
c:\backup\crexamples\web\WEB-INF\src
c:\backup\crexamples\web\WEB-INF\test
c:\backup\crexamples\web\WEB-INF\web.xml
C:\backup\crexamples\web\crystalreportviewers11
C:\backup\crexamples\web\jsp
C:\backup\crexamples\web\META-INF\context.xml
C:\backup\crexamples\web\index.jsp
C:\backup\crexamples\web\{several of the example jsp files}
What I've got in index.jsp is just a redirect to one of the example
files, which works fine, then the next is a redirect to a jsp that
actually shows the report. The imports:
<%@page import="com.crystaldecisions.report.web.viewer.*"%>
<%@page import="com.crystaldecisions.reports.sdk.*" %>
<%@page import="com.crystaldecisions.sdk.occa.report.reportsource.*"
%>
These are found in the WEB-INF\lib directory, in jar files. When I
build and run the project, this is the error I get:
<pre>
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented
it from fulfilling this request.
exception
javax.servlet.ServletException: com/crystaldecisions/reports/common/be
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:846)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)
org.apache.jsp.jrc_005fexport_005freport_jsp._jspService(jrc_005fexport_005freport_jsp.java:130)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)
root cause
java.lang.NoClassDefFoundError: com/crystaldecisions/reports/common/be
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(ClassLoader.java:620)
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1626)
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:850)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1299)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1181)
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
com.crystaldecisions.reports.sdk.ReportClientDocument.open(Unknown
Source)
org.apache.jsp.jrc_005fexport_005freport_jsp._jspService(jrc_005fexport_005freport_jsp.java:88)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)
note The full stack trace of the root cause is available in the Apache
Tomcat/5.5.7 logs.
</pre>
Note that I can't find these Tomcat logs: there's a "dummy" log in the
Tomcat log directory inside Netbeans, and I can't find any other file
on the system that is *.log that's not for something else. So I can't
give any more information.
Do I have the jar files in the wrong place? Do I need to configure
web.xml? I'm not using servlets, but here's that file:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<description>
Crystal Reports Server XI Examples.
</description>
<display-name>Crystal Reports Server XI Examples.</display-name>
<!-- Context Param -->
<context-param>
<param-name>crystal_image_uri</param-name>
<param-value>crystalreportviewers11</param-value>
</context-param>
<!-- Context Param End -->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<env-entry>
<env-entry-name>minExemptions</env-entry-name>
<env-entry-type>java.lang.Integer</env-entry-type>
<env-entry-value>1</env-entry-value>
</env-entry>
<env-entry>
<env-entry-name>foo/name1</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>value1</env-entry-value>
</env-entry>
<env-entry>
<env-entry-name>foo/bar/name2</env-entry-name>
<env-entry-type>java.lang.Boolean</env-entry-type>
<env-entry-value>true</env-entry-value>
</env-entry>
<env-entry>
<env-entry-name>name3</env-entry-name>
<env-entry-type>java.lang.Integer</env-entry-type>
<env-entry-value>1</env-entry-value>
</env-entry>
<env-entry>
<env-entry-name>foo/name4</env-entry-name>
<env-entry-type>java.lang.Integer</env-entry-type>
<env-entry-value>10</env-entry-value>
</env-entry>
</web-app>
I really believe I've got web.xml wrong, and/or have the jar files in
the wrong place. Any ideas are greatly helpful!
I'm trying to deploy the examples you can get from BusinessObjects.com
for learning how to display reports over the web. I'm using Netbeans
4.1 along with the built in Tomcat to do this. It's been years since
I worked with JSP and Tomcat, and it seems to me that things have
changed a bit...
I have the directory structure:
c:\backup\crexamples\web\WEB-INF\classes
c:\backup\crexamples\web\WEB-INF\lib
c:\backup\crexamples\web\WEB-INF\lib\{crystal jar files etc}
c:\backup\crexamples\web\WEB-INF\src
c:\backup\crexamples\web\WEB-INF\test
c:\backup\crexamples\web\WEB-INF\web.xml
C:\backup\crexamples\web\crystalreportviewers11
C:\backup\crexamples\web\jsp
C:\backup\crexamples\web\META-INF\context.xml
C:\backup\crexamples\web\index.jsp
C:\backup\crexamples\web\{several of the example jsp files}
What I've got in index.jsp is just a redirect to one of the example
files, which works fine, then the next is a redirect to a jsp that
actually shows the report. The imports:
<%@page import="com.crystaldecisions.report.web.viewer.*"%>
<%@page import="com.crystaldecisions.reports.sdk.*" %>
<%@page import="com.crystaldecisions.sdk.occa.report.reportsource.*"
%>
These are found in the WEB-INF\lib directory, in jar files. When I
build and run the project, this is the error I get:
<pre>
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented
it from fulfilling this request.
exception
javax.servlet.ServletException: com/crystaldecisions/reports/common/be
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:846)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)
org.apache.jsp.jrc_005fexport_005freport_jsp._jspService(jrc_005fexport_005freport_jsp.java:130)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)
root cause
java.lang.NoClassDefFoundError: com/crystaldecisions/reports/common/be
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(ClassLoader.java:620)
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1626)
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:850)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1299)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1181)
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
com.crystaldecisions.reports.sdk.ReportClientDocument.open(Unknown
Source)
org.apache.jsp.jrc_005fexport_005freport_jsp._jspService(jrc_005fexport_005freport_jsp.java:88)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)
note The full stack trace of the root cause is available in the Apache
Tomcat/5.5.7 logs.
</pre>
Note that I can't find these Tomcat logs: there's a "dummy" log in the
Tomcat log directory inside Netbeans, and I can't find any other file
on the system that is *.log that's not for something else. So I can't
give any more information.
Do I have the jar files in the wrong place? Do I need to configure
web.xml? I'm not using servlets, but here's that file:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<description>
Crystal Reports Server XI Examples.
</description>
<display-name>Crystal Reports Server XI Examples.</display-name>
<!-- Context Param -->
<context-param>
<param-name>crystal_image_uri</param-name>
<param-value>crystalreportviewers11</param-value>
</context-param>
<!-- Context Param End -->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<env-entry>
<env-entry-name>minExemptions</env-entry-name>
<env-entry-type>java.lang.Integer</env-entry-type>
<env-entry-value>1</env-entry-value>
</env-entry>
<env-entry>
<env-entry-name>foo/name1</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>value1</env-entry-value>
</env-entry>
<env-entry>
<env-entry-name>foo/bar/name2</env-entry-name>
<env-entry-type>java.lang.Boolean</env-entry-type>
<env-entry-value>true</env-entry-value>
</env-entry>
<env-entry>
<env-entry-name>name3</env-entry-name>
<env-entry-type>java.lang.Integer</env-entry-type>
<env-entry-value>1</env-entry-value>
</env-entry>
<env-entry>
<env-entry-name>foo/name4</env-entry-name>
<env-entry-type>java.lang.Integer</env-entry-type>
<env-entry-value>10</env-entry-value>
</env-entry>
</web-app>
I really believe I've got web.xml wrong, and/or have the jar files in
the wrong place. Any ideas are greatly helpful!