bboss session共享时序列化存储jasperreports报表对象JasperPrint方法
bboss session共享组件使用方法介绍
由于JasperPrint对象有点特殊,序列化存储到session时,必须采用java自带的序列化机来序列化和还原JasperPrint对象,否则bboss序列化机制无法实现对原始JasperPrint对象的序列化。具体的设置JasperPrint对象到共享session中的方法如下:
public static void toSession(HttpServletRequest request,String key,JasperPrint jasperPrint) throws IOException
{
java.io.ByteArrayOutputStream out = null;
java.io.ObjectOutputStream output = null;
try
{
out = new ByteArrayOutputStream();
output = new java.io.ObjectOutputStream(out);
output.writeObject(jasperPrint);
output.flush();
request.getSession().setAttribute(key, out.toByteArray());
}
finally
{
try {
if(out != null)
{
out.close();
out = null;
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
if(output != null)
{
output.close();
output = null;
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static JasperPrint getJasperPrint(HttpServletRequest request,String key)
{
JasperPrint jasperPrint = null;
java.io.ObjectInputStream output = null;
java.io.ByteArrayInputStream intput = null;
try
{
byte[] b = (byte[])request.getSession().getAttribute(key);
intput = new ByteArrayInputStream(b);
output = new java.io.ObjectInputStream(intput);
jasperPrint = (JasperPrint)output.readObject();
return jasperPrint;
}
catch(Exception e)
{
e.printStackTrace();
return null;
}
finally
{
try {
if(intput != null)
{
intput.close();
intput = null;
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
if(output != null)
{
output.close();
output = null;
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
下文中提供从共享session中存储和读取jasperprint对象的另外一种更加友好的解决方案:
bboss自定义类对象序列化机制介绍
分享到:
相关推荐
对于修改session中的对象数据,必须调用session.setAttribute方法将对象数据更新到MongoDB中,从而实现数据的共享。 bboss会话共享还提供了两种模式: 1. 集群间会话共享模式,这种模式实现了一个应用集群中各个...
在本文中,我们将深入探讨Bboss和Xstream两个序列化和反序列化库在性能方面的差异。这两个库在Java开发中广泛用于将对象转换为XML格式,以便于存储、传输或持久化。以下是对这两个库的详细分析。 首先,Bboss和...
集群会话共享,跨容器跨平台,跨站跨应用会话共享及SSO,高效,配置简单,提供实用的会话统计监控和会话集中管理功能(会话查询,会话删除,会话属性数据查看等等)
该项目是一款基于Java和Shell语言的bboss session framework设计源码,专注于实现跨域集群节点之间的会话共享,并具备良好的会话监控和数据统计功能。该框架包含222个文件,包括164个Java源文件、14个XML配置文件、6...
本培训文档将介绍集群session管理的发展历史、bbosssession的架构及特点、性能指标、与应用的集成方式、部署模式以及场景演示等,旨在帮助技术人员理解并掌握bbosssession的使用方法和优势。 一、集群session管理...
本项目是基于JavaScript和CSS开发的bboss会话共享demo,包含421个文件,其中包括114个GIF图像文件、111个JPG图像文件、88个PNG图像文件、29个JavaScript脚本文件、20个CSS样式表文件、18个XML配置文件、12个JSP页面...
该项目是基于Java语言的bboss开源框架构建的设计源码,包含3075个文件,涵盖2700个Java...本项目基于bboss框架构建了数据采集ETL工具、流批一体化Stream工具、Elasticsearch客户端工具和WebSession共享框架等应用。
BBoss MVCDemo 是一个基于Java的企业级应用框架,它主要为开发者提供了一种高效、灵活的MVC(Model-View-Controller)开发模式。这个框架的目的是简化企业级Web应用的开发流程,提高开发效率,并且具备良好的可扩展...
**bboss-datatran** 是一个由 **bboss** 社区开源的高效数据处理工具,专注于数据采集、数据清洗转换以及数据入库等任务。它实现了流批一体化的数据处理能力,使得用户能够灵活地应对实时和批量的数据处理场景。在...
1. **组件化开发**:BBoss支持模块化和组件化的开发模式,允许开发者根据项目需求选择必要的功能组件,避免了传统框架中“大而全”的问题,降低了系统的复杂度。 2. **数据库操作**:BBoss提供了便捷的数据访问层...
1. **初始化配置**:在过滤器实例化时,`init()`方法会被调用。在这里,我们可以配置过滤器的参数,如定义哪些URL需要进行安全认证,或者设置默认的登录页面等。 2. **过滤链执行**:`doFilter()`方法是过滤器的...
本实例是一个基于bboss es spring boot starter的demo maven工程,可供spring boot项目集成bboss elasticsearch rest client参考 展示了通过spring boot管理单集群功能和管理多集群功能 单集群测试用例:...
【Bboss国际化实践】主要涉及了软件系统的全球化适应性改造,以便支持多语言环境。以下是对这个主题的详细解析: 1. **界面元素国际化**: - 界面文字:所有用户可见的文字都需要进行翻译,确保不同语言环境下的...
【bboss-db-elasticsearch-tool-master_java_】是一个Java ORM(对象关系映射)框架,它在功能上超越了MyBatis,提供了对多种数据库的广泛支持,包括MySQL、Oracle、PostgreSQL、SQLServer、DB2、DM以及MongoDB。...
3. `bboss-util-5.5.0.jar`和`bboss-persistent-5.5.0.jar`:这是BBoss框架的核心组件,提供了许多实用工具类和持久化操作支持,如数据库连接、事务管理等,为Elasticsearch的数据导入提供底层支持。 4. `...
springboot集成ElasticsearchBboss调用Elasticsearch的案例分享
集成bboss和Elasticsearch时,首先需要在项目中引入bboss的依赖,并配置Elasticsearch的相关连接信息,如集群名称、节点地址等。然后可以通过bboss提供的API进行索引创建、数据插入、查询、更新、删除等操作。 4. ...
**Elasticsearch 开发环境搭建与 BBoss 入门教程** Elasticsearch 是一个高度可扩展的开源全文搜索引擎,设计用于快速提供近实时的搜索和分析能力。BBoss(Business Boss)是基于Elasticsearch的一个强大且灵活的...