历史版本11 :Tomcat下通过IP直接访问数据决策系统 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 实现步骤编辑

1.1 修改端口号
如果没有启动其他占有端口号80的网络程序,可以将Tomcat服务器的端口号设置为80,因为80端口是默认端口,这样我们在访问报表页面时就不需要在加上Tomcat服务器的端口号,重启tomcat服务器访问http://localhost/WebReport/ReportServer?op=fs就可以访问op=fs了。
修改端口号在配置文件server.xml文件中修改,如下:
<Connector port="80" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" URIEncoding="GB2312" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" />
1.2 欢迎界面
每个web服务器都有默认的欢迎界面,通过修改欢迎界面,以显示op=fs,然后再修改配置文件目录,就可以访问:http://localhost进入产品演示界面了。以%tomcat_home%/webapps/WebReport/目录作为web服务器默认目录,在WebReport中建一个a.jsp文件,该文件作为web服务器的默认主页。
a.jsp调用iframe集成op=fs产品演示界面,代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <html> <head> <title>FineReport报表</title> </head> <body> <iframe id="reportFrame" src="ReportServer?op=fs" name="itemslist" frameborder="0" width="100%" height="100%"></iframe> </body> </html>
保存,重启tomcat服务器访http://localhost/WebReport/a.jsp就可以显示产品演示界面了。效果如下:
1.3 建虚拟目录
通过修改配置文件建虚拟目录,首先,修改%tomcat_home%/conf/server.xml文件,在server.xml文件中,host标签之间添加上代码如下:path是说明虚拟目录的名字,如果你要只输入ip地址就显示主页,则该键值留为空;docBase是虚拟目录的路径,默认的是%tomcat_home%/webapps/目录,选择报表目录WebReport让该目录作为我的默认目录。debug和reloadable一般都分别设置成0和true。
<Context path="" docBase="WebReport" debug="0" reloadable="true" />
然后,修改%tomcat_home%/conf/web.xml文件,在web.xml文件最下面,添加一段代码显示自定义欢迎界面a.jsp,在welcome-file节点中添加效果如下:
<welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>a.jsp</welcome-file> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
保存上述配置文件后重启tomcat,在浏览器地址栏内输入http://localhost就可以进入a.jsp页面,显示op=fs产品演示界面内容了。

2. 可能遇到的问题编辑

2.1 问题描述
在如上所述配置完成后,启动tomcat服务器时,有可能会报如下类似错误:
Oops!!!非常抱歉,您当前无法访问此页。发生的问题是:CREATE EMB-DB: SET LOGSIZE FAILED! 详细信息 java.lang.RuntimeException: CREATE EMB-DB: SET LOGSIZE FAILED! at com.fr.data.core.db.DBUtils.getEmbeddedDB(Unknown Source) at com.fr.web.core.db.FineDB.getDB(Unknown Source) at com.fr.web.core.db.PlatformDB.getDB(Unknown Source) at com.fr.fs.dao.properties.FsJdbcDaoProperties.createDataBaseConnection(Unknown Source) at com.fr.data.dao.DAOManagerFactory.createJDBCDAOManager(Unknown Source) at com.fr.fs.dao.FSDAOManager.getJDBCDAOManager(Unknown Source) at com.fr.fs.dao.FSDAOManager.createSession(Unknown Source) at com.fr.fs.dao.FSDAO.createSession(Unknown Source) at com.fr.fs.dao.UserDAO.findByUserNameAndPassWord(Unknown Source)
2.2 报错原因
报表工程WebReport放在了%Tomcat_home%\webapps下,启动服务器时会加载该工程;
上述步骤3.3中建立了虚拟目录,启动服务器时通过该配置文件又加载了一次WebReport工程。
即报表工程被加载了两次,由于op=fs使用的hsql数据库在第一次加载时被占用锁死了,第二次加载时就会报上面的错。
2.3 解决方案
报表工程不放在webapps下,放在外面任意文件夹下,然后docBase路径修改为文件夹路径即可。

例如将WebReport工程放在C盘根目录下,则上述步骤1.3中docBase路径改为C:\WebReport即可。