Tomcat 下通过 IP 直接访问数据决策系统

  • 文档创建者:文档助手1
  • 编辑次数:44次
  • 最近更新:Roxy 于 2020-04-29
  • 1. 概述

    1.1 问题描述

    通常在 Tomcat 服务器部署 完成之后,启动服务器,用户需要访问 URL:http://localhost:8080/webroot/decision 方可进入数据决策系统。有时用户希望可以直接通过 IP 就能访问数据决策系统。

    1.2 解决思路

    通过修改端口号并建立虚拟目录来实现访问 IP(例如:http://localhost)即可直接进入数据决策系统。

    2. 操作步骤

    2.1 修改端口号

    如果没有其他网络程序占用端口号 80,可以将 Tomcat 服务器的端口号设置为 80。

    80 端口为默认端口,用户访问报表页面时就不需要再加上 Tomcat 服务器的端口号。

    打开%tomcat_home%\conf\server.xml文件,修改端口号,如下图所示:

    1575268863332711.png

    代码如下所示:

    <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

    重启 Tomcat 服务器,访问http://localhost/webroot/decision即可进入数据决策系统。

    2.2 设置欢迎界面

    每个 Web 服务器都有默认的欢迎界面,通过修改欢迎界面,以显示平台页面。

    %tomcat_home%\webapps\webroot目录下新建 a.jsp 文件,作为 Web 服务器的默认主页。

    a.jsp 调用 iframe 集成平台产品演示界面,代码如下所示:

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <html>
     <head>
       <title>FineReport报表</title>
       <link rel="stylesheet" type="text/css" href="/decision/file?path=/com/fr/web/core/css/leaflet.css&type=plain&parser=plain"/>
     </head>
     <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
       <iframe id="reportFrame" src="decision" allowfullscreen="true"
         name="itemslist" frameborder="0" width="100%" height="100%"></iframe>
     </body>
    </html>

    注:<link rel="stylesheet" type="text/css" href="/decision/file?path=/com/fr/web/core/css/leaflet.css&type=plain&parser=plain"/> 这行代码用于解决决策系统中图表工具栏全屏后地图显示异常的问题。

    重启 Tomcat 服务器,访问http://localhost/webroot/a.jsp即可显示数据决策系统登录页面。

    2.3 建立虚拟目录

    通过修改配置文件建虚拟目录。

    2.3.1 调整工程路径

    报表工程 webroot 默认放在%Tomcat_home%\webapps目录下,启动服务器时会加载该工程。建立虚拟目录后,启动 Tomcat 服务器时,通过配置文件会再次加载 webroot 工程。webroot工程加载两次,会出现报错、服务器闪退等情况。

    因此用户需要将%Tomcat_home%\webapps目录下的webroot工程放置到 Tomcat 部署目录以外的位置,并且需要与 Tomcat 工程在相同路径的磁盘下。

    本文将%Tomcat_home%\webapps\webroot文件夹调整到E:\webroot路径。如下图所示:

    1575269573295136.png

    2.3.2 修改 server.xml 文件

    修改%tomcat_home%\conf\server.xml文件,在 server.xml 文件中 host 标签之间添加上代码,如下图所示:

    1575268953942085.png

    代码如下所示:

    <Context path="" docBase="E:\webroot" debug="0" reloadable="true" />

     说明:

    参数说明
    path

    虚拟目录的名字

    如果希望输入 IP 地址就显示主页,则该键值留为空

    docBase

    虚拟目录的路径

    本文 2.3.1 步骤中设置的 webroot 路径,本文为E:\webroot

    debug0
    reloadabletrue

    2.3.3 修改 web.xml 文件

    1)FineReport 9.0 工程

    9.0 工程下有 web.xml 文件,用户可直接修改代码。

    修改%tomcat_home%\conf\web.xml文件,在 web.xml 文件最下面</web-app>标签之前,添加一段代码显示自定义欢迎界面 a.jsp,代码如下所示:

    <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>

    2)FineReport 10.0 工程

    10.0 工程下没有 web.xml 文件,用户需新建 web.xml 文件

    webroot\WEB-INF目录下新建 web.xml 文件,如下图所示:

    1575270276593653.png

    代码如下所示:

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app
      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"
      version="2.4">
     <display-name>Template WebApp</display-name>
     
       <mime-mapping>
     <extension>msi</extension>
     <mime-type>application/x-msi</mime-type>
     </mime-mapping>
     
     <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>

    2.4 效果预览

    重启 Tomcat 服务器,访问 http://localhost即可进入 a.jsp 页面,即可访问数据决策系统,如下图所示:

    1575270384415533.png

    3. 注意事项

    3.1  IE9 浏览器下页面显示不完全

    1)问题描述

    按照上述配置部署好后, IE9 浏览器下,页面显示不完全。

    2)解决方案

    将本文 2.2 步骤中的 a.jsp 文件代码修改如下:

    <html>  
       <head>  
           <title>FineReport</title>
           <meta http-equiv="X-UA-Compatible" content="chrome=1,IE=edge"/>
           <link rel="stylesheet" type="text/css" href="/decision/file?path=/com/fr/web/core/css/leaflet.css&type=plain&parser=plain"/>
     <style type="text/css">
             html, body
       {
         margin: 0px 0px;
         width: 100%;
         height: 100%;
       }
             iframe
       {
         margin: 0px 0px;
         width: 100%;
         height: 100%;
       }
     </style>
       </head>  
       <body>  
           <iframe id="reportFrame" src="decision" name="itemslist" frameborder="0"></iframe>
       </body>  
    </html>

    3.2 iframe 框架中全屏失效

    3.2.1 问题现象

    iframe 框架中模板全屏报错 fullscreen api not support 。

    3.2.2 解决方案

    在本文 2.2 步骤中的a.jsp 文件增加 allowfullscreen="true" 参数,如下图所示:

    33.png

    4. 输入服务器地址

    4.1 远程设计

    远程设计 输入服务器地址的时候,webroot 需省去,decision 要保留。

    选项  值  
    主机名/IP  根据实际情况填写
    端口号  80
    Web应用 空
    Serverlet decision
    用户名\密码 根据实际情况填写

    配置工作目录如下图所示:

    222

    4.2 App 端

    移动端输入服务器地址的时候,webroot 需省去,decision 要保留。

    选项  值  
      主机名/IP  根据实际情况填写
      端口号  80
      Web应用  空
     Serverlet decision
     用户名\密码 根据实际情况填写

    配置工作目录如下图所示:

    222

    附件列表


    主题: 部署集成
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!