如何让内置Jetty服务器支持JSP
1. 问题描述
内置Jetty服务器的说明参见:http://help.finereport.com/finereport9.0/doc-view-800.html 。
内置Jetty服务器默认配置下是不支持JSP的,浏览JSP页面会报500错误:Unable to compile class for JSP
2. 解决方案
内置Jetty服务器默认不支持JSP的原因是缺少编译JSP的运行时依赖。在FineReport安装目录\lib\jetty下增加相应jar,就能让内置Jetty服务器支持JSP。
3. 实现步骤
内置Jetty的版本为5.5.12,http://mvnrepository.com/artifact/org.mortbay.jetty/jsp/5.5.12这个地址列出了Jetty支持JSP所需要的编译依赖和运行时依赖,通过和FineReport安装目录\lib\jetty下已有jar包比较可知,FineReport安装目录\lib\jetty下还缺少ant和jasper-compiler-jdt两个jar包。
同时ant的运行还需要JDK安装目录\lib下的tools.jar。
(1)下载所需要的ant和jasper-compiler-jdt两个jar包
http://mvnrepository.com/artifact/org.mortbay.jetty/jsp/5.5.12,点击ant,如下图:
\lib\jetty下的jar包都是ant 1.6.5及以下版本编译,这里选择点击1.6.5版本下载。
jasper-compiler-jdt下载步骤类似,就不赘述了。
复制下载好的jar包到FineReport安装目录\lib\jetty下,如下图:
\lib下的tools.jar,因此接下来的步骤是复制JDK安装目录\lib下的tools.jar到FineReport安装目录\lib\jetty下。
如果已装有JDK,可以直接复制,如下图:
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html,下载并安装JDK后,再提取tools.jar到FineReport安装目录\lib\jetty下。
至此,所缺的jar都补齐了,如下图:
打开设计器,随便打开预览一张模板,或者访问服务器管理平台,启动内置服务器。
再打开JSP页面,就可以看到能正常显示了,如下图:
附件列表
文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201)