皕杰报表作为项目部署时,需在web.xml中进行相关配置,具体要配置那些信息呢?基本上包含报表系统提供的web.xml文件中的<web-app>节点下的所有内容。
其中主要是配置servlet信息和一些必要的过滤器。Servlet是运行在服务器上的一个小程序,用来处理服务器接收到的请求。
皕杰报表的servlet包含如下设置:
<servlet>
<servlet-name>reportServlet</servlet-name>
<servlet-class>bios.report.engine.output.ReportEmitter</servlet-class>
<init-param>
<param-name>reportConf</param-name>
<param-value>/WEB-INF/resources/report_config.xml</param-value>
</init-param>
<!-- <init-param>
<param-name>reportPrefix</param-name>
<param-value>mypath</param-value>
</init-param> -->
<load-on-startup>2</load-on-startup>
</servlet>
<servlet>
<servlet-name>collecterServlet</servlet-name>
<servlet-class>bios.report.engine.output.ReportCollecter</servlet-class>
</servlet>
<servlet>
<servlet-name>accessorServlet</servlet-name>
<servlet-class>bios.report.engine.output.ReportAccessor</servlet-class>
</servlet>
<servlet>
<servlet-name>fillinServlet</servlet-name>
<servlet-class>bios.report.engine.output.ReportFillin</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>reportServlet</servlet-name>
<url-pattern>/ReportEmitter</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>collecterServlet</servlet-name>
<url-pattern>/ReportQuerier</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>accessorServlet</servlet-name>
<url-pattern>/ReportHelper</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>fillinServlet</servlet-name>
<url-pattern>/ReportFeeder</url-pattern>
</servlet-mapping>
当皕杰报表用皕杰平台做门户时,还需要将平台的相关配置放进来。
<filter>
<filter-name>jfinal</filter-name>
<filter-class>com.jfinal.core.JFinalFilter</filter-class>
<init-param>
<param-name>configClass</param-name>
<param-value>bios.platform.PlatformConfig</param-value>
</init-param>
</filter>
-->
<filter-mapping>
<filter-name>jfinal</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!--
<listener>
<listener-class>net.sf.ehcache3.constructs.web.ShutdownListener</listener-class>
</listener>
-->
<listener>
<listener-class>bios.platform.common.sys.OnlineUserListener</listener-class>
</listener>
另外,可将编码转换过滤器和XSS防注入过滤器配置在平台的主过滤器之后。
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>bios.report.engine.output.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encode</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/ReportEmitter</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/ReportQuerier</url-pattern>
</filter-mapping>
<filter>
<filter-name>XSSRequestFilter</filter-name>
<filter-class>bios.report.engine.output.XssRequestFilter</filter-class>
</filter>
-->
<filter-mapping>
<filter-name>XSSRequestFilter</filter-name>
<url-pattern>/ReportEmitter</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>XSSRequestFilter</filter-name>
<url-pattern>/ReportQuerier</url-pattern>
</filter-mapping>