与Java系统集成
1.单独部署集成
非跨域部署
与Java Web项目部署在同一个Web服务下(如:tomcat),两个系统IP与端口相同,项目名称不同,采用iframe访问系统页面,可以通过GET或是POST方式访问系统,
GET : 浏览器对于GET请求访问参数是拼接在URL中,浏览器会限制URL的长度,这种方式只能传递有限的参数
POST: 以POST请问方式访问报表页面或是表单页面,可以传递大量参数
部署方法
将AnyReport安装目录tomcat webapps 下的dmp项目 copy 到要集成的 java web服务下,如testi java web系统,dmp 复制到与 testi同目录中

iframe集成post请求
html页面通过form表单post方式请求报表页面,表单target 为iframe
<body><form action="http://localhost:8080/dmp/96a4c656e57442289258bac892b286d8.rpt" method="post" target="rptframe" id="rptForm"></form><iframe id="rptframe" name="rptframe" width="100%" height="100%"></iframe><script type="text/javascript">$(function(){$("#rptForm").submit();})</script></body>
跨域部署
使用AnyReport默认安装应用,默认端口为9905,系统可以通过iframe集成以GET方式访问报表或表单页面,请见:iframe集成方式
2.引入jar深度集成
AnyReport报表软件是一款纯Java开发的web报表工具,可以降AnyReport jar文件与jsp页面文件引入到Java web系统,Java web应用可以直接调用AnyReport API接口,提供程序数据集,报表数据来源可由Java程序获取
集成
AnyReport安装成功后,在tomcat webapps目录存在一个dmp项目
将dmp下的anyrt 文件copy到 ecplise Java web项目,如testi项目,
将dmp/WEB-INF目录下的lib目录中jar包 copy 到testi web项目的lib目录下,如果项目中已经存在jar则不需要copy

合并web.xml文件内容
将WEB-INF目录下的web.xml文件内容,copy到testi web项目中的web.xml
<context-param><param-name>contextConfigLocation</param-name><param-value>classpath:config/spring-*.xml,classpath:config/workflow/spring-*.xml</param-value></context-param><listener><listener-class>com.anyrt.common.web.CommonServletAppListener</listener-class></listener><servlet><servlet-name>DispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:config/web/spring-*.xml</param-value></init-param><load-on-startup>0</load-on-startup></servlet><servlet-mapping><servlet-name>DispatcherServlet</servlet-name><url-pattern>*.htm</url-pattern></servlet-mapping><servlet-mapping><servlet-name>DispatcherServlet</servlet-name><url-pattern>*.form</url-pattern></servlet-mapping><servlet-mapping><servlet-name>DispatcherServlet</servlet-name><url-pattern>*.list</url-pattern></servlet-mapping><servlet-mapping><servlet-name>DispatcherServlet</servlet-name><url-pattern>*.rpt</url-pattern></servlet-mapping><servlet-mapping><servlet-name>DispatcherServlet</servlet-name><url-pattern>*.rpti</url-pattern></servlet-mapping><filter><filter-name>CharacterEncodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>utf-8</param-value></init-param></filter><filter-mapping><filter-name>CharacterEncodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>
3.session保存用户信息
AnyReport的用户信息与权限信息保存在session中,session 存储的key=”_sd”
web系统通过User对象保存用户信息
import com.anyrt.sdk.LoginManager;import com.anyrt.system.model.User;User user = new User();//设置用户名user.setUserName("demo");//设置姓名(可选)user.setName("Zhang San");//设置邮箱(可选)user.setEmail("xx@sina.com");//设置电话号码(可选)user.setPhone("13677777xxx");//设置可以访问全部报表与表单,true可访问user.setAccessAll(true);//将用户信息保存key为"_sd"的session中LoginManager.login(user, request);