`

bboss mvc大文件上传及or mapping存储大文件机制详解

阅读更多
继续上两篇文章:
bboss mvc文件上传下载实战演练-http://yin-bp.iteye.com/blog/1130035
bboss mvc文件上传下载实战进阶-http://yin-bp.iteye.com/blog/1131637

本文着重介绍bboss mvc大文件上传和利用持久层的or mapping机制存储大文件功能介绍,切入正题

功能点说明:
1.jsp form附件上传表单
2.jquery easyui 表单提交
3.mvc控制附件处理方法
4.绑定附件值对象
5.利用or mapping技术持久化附件信息和附件内容

大致流程如下:
通过将表单提交的附件信息传递给控制方法,mvc将表单数据以及附件信息封装到DeskTopBackGround对象中,利用持久层组件将该附件信息存储到数据库中。

下面逐一说明:

首先介绍各个层面都要用到的附件值对象
public class DeskTopBackGround {	
	private String cn_name;
	private Timestamp creatdate;
         private String filename;
	@Column(type="blobfile")
	private MultipartFile picture;
         。。。//省略get/set方法
}


DeskTopBackGround 中的属性MultipartFile picture包含了附件信息和附件内容,需要注意的是,必须通过@Column(type="blobfile")注解说明附件类型,即是一个blob二进制附件还是一个clob文本附件,分别对应为:@Column(type="blobfile")和@Column(type="clobfile"),这样ormapping机制就能清楚地进行相应的处理。


jsp 附件上传表单
 <form action=""  method="POST" id="addbackground" enctype="multipart/form-data">
    <table>
    <tr>
       <td>
    	名称:<input type="text" name="cn_name" id="cn_name"/>
       </td>
    </tr>
     <tr>
     	<td>
   		 附件:<input type="file" name="picture" id="file" />
     	</td>
   	 </tr>
    <tr>
    	<td>
    <input type="button" class="button" value="添加背景图片" onclick="addBackGround(this)" />
	 	</td>
 	</tr>									
	</table>									
	</form>	


jquery-easyui form表单提交操作:

 $("#addbackground").form('submit', {
				    "url": "uploadBackGround.page",//控制器请求url
				    onSubmit:function(){			
						//显示遮罩							
						blockUI();	
				    },
				    success:function(responseText){	
				    	//去掉遮罩	
						unblockUI();
						if(responseText == "success"){
							$.messager.alert("提示对话框" , "附件上传成功!");
							queryList();
						}
						else
						$.messager.alert("提示对话框" , "附件上传失败:"+responseText);	
				    }
				});	


mvc控制附件处理方法
public  @ResponseBody String uploadBackGround( DeskTopBackGround bean)
	{
		try
		{
			bean.setFilename(bean.getPicture().getOriginalFilename());//设置附件名称到filename属性
bean.setCreatdate(new Timestamp(new Date().getTime()));//设置创建时间
			String sql = "insert into td_sm_desktopstylecustom(filename,creatdate,cn_name,picture) values(#[filename],#[creatdate],#[cn_name],#[picture])";
			SQLExecutor.insertBean(sql, bean);
			return "success";
		}
		catch (Exception e)
		{
			return "fail:"+e.getMessage();
		}
		
	}


控制方法包含一个DeskTopBackGround bean参数,mvc框架根据表单的信息生成DeskTopBackGround 对象实例,uploadBackGround方法对该实例进行相应的处理后,通过持久层的or mapping接口存储到数据库表中:
SQLExecutor.insertBean(sql, bean);

然后将处理结果信息相应到客户端,客户端进行相应的提示:
$.messager.alert("提示对话框" , "附件上传成功!");


后记
到此本文的正文内容就介绍完了,至于mvc配置文件和持久层数据源配置请参考博客中相关文章:
bboss mvc基础配置介绍-http://yin-bp.iteye.com/blog/1139608
bbossgroups 开发系列文章之-最佳实践-http://bbossgroups.group.iteye.com/group/wiki/3092-mvc-bboss-config
bboss persistent框架数据库连接池配置介-http://yin-bp.iteye.com/blog/352599














分享到:
评论

相关推荐

    bboss mvcdemo 下载地址

    BBoss MVCDemo 是一个基于Java的企业级应用框架,它主要为开发者提供了一种高效、灵活的MVC(Model-View-Controller)开发模式。这个框架的目的是简化企业级Web应用的开发流程,提高开发效率,并且具备良好的可扩展...

    bboss mvc文件上传下载实战进阶

    NULL 博文链接:https://yin-bp.iteye.com/blog/1131637

    bboss mvc 通过jsonp实现跨站跨域远程访问

    标题中的“bboss mvc 通过jsonp实现跨站跨域远程访问”指的是使用bboss MVC框架来处理JSONP(JSON with Padding)请求,以克服浏览器的同源策略限制,实现跨域数据交互。bboss MVC是一个Java Web开发框架,它提供了...

    bboss ioc配置文件中使用外部属性文件介绍

    本文将详细介绍如何在BBoss的IOC配置文件中引用外部属性文件,以便更好地管理和动态配置应用。 首先,BBoss的IOC配置文件通常是一个XML文件,比如`bboss-ioc.xml`,在这个文件中我们可以声明并配置各种bean。当需要...

    bboss-mvc.jar

    官方版本,亲测可用

    基于bboss框架的全面设计源码自动生成工具

    该工具是一款基于bboss...此工具能够自动生成bboss MVC、IOC、持久化、JSP、i18n、SQL配置文件、Web服务、Hessian服务等相关源代码,适用于快速开发和项目迭代。详细文档请参考:http://yin-bp.iteye.com/blog/2256948

    bboss-gencode:这是一个自动为bboss mvc,ioc,persistent,jsp,i18n,sql配置文件,webservice,hessian服务等生成源代码的工具。Dev文档yin-bp.iteye.comblog2256948-mvc source code

    自动代码生成器是针对bboss框架和bboss开发平台的自动代码生成工具,可以根据模板,自动生成给定表的增,删,改,分页查询,列表查询,国际化功能对应的程序和配置文件: 1.mvc控制器 2.业务组件 3.实体类 4.jsp文件...

    基于Java的bboss开源框架设计源码

    该项目是基于Java语言的bboss开源框架构建的设计源码,包含3075个文件,涵盖2700个Java源文件、85个XML配置文件、52个HTML文件、39个properties和prefs文件、23个GIF图片、18个Gradle文件、17个gitignore文件、10个...

    bboss会话共享培训文档

    安全性方面,bboss会话共享通过在客户端基于cookie机制存储sessionid,并设置cookie的HttpOnly属性来防止XSS攻击窃取sessionid,通过设置Secure属性并在HTTPS环境下传输来防止sessionid被窃取。同时,还提供会话信息...

    springboot整合bboss es增删改查测试demo代码

    本实例是一个基于bboss es spring boot starter的demo maven工程,可供spring boot项目集成bboss elasticsearch rest client参考 展示了通过spring boot管理单集群功能和管理多集群功能 单集群测试用例:...

    企业级J2EE开源框架bboss

    BBoss(全称为bbossgroups)是一个专为企业级J2EE应用设计的开源框架,它为Java开发者提供了一系列强大的工具和服务,以简化Web应用程序的开发过程。该框架旨在提高开发效率,降低维护成本,同时保持高度的灵活性和...

    bbossgroups 开发系列文章之一 最佳实践

    bboss-mvc.xml是bboss MVC的核心配置文件,它定义了系统的全局设置,如视图解析器(View Resolver)和消息源(Message Source)。视图解析器负责将处理结果转换为用户可以查看的页面,例如JSP。在这里,配置了...

    bboss persistent 1.0.2中方便地实现大字段(clob,blob)的处理

    首先,CLOB用于存储大量的文本数据,如长篇文章或XML文档,而BLOB则用于存储二进制数据,如图片、音频或视频文件。在传统的JDBC操作中,处理这类大数据可能涉及到内存溢出问题,因为需要一次性加载整个字段到内存中...

    bboss+es基本操作示例.zip

    在`demo`这个文件中,可能包含了使用bboss操作Elasticsearch的基本示例代码。例如,创建索引、插入文档、执行查询等。通常,这些示例会展示如何初始化bboss客户端,如何构造和执行DSL查询,以及如何处理返回结果。 ...

    bboss-elasticsearch开发环境搭建和开发入门视频教程.

    1. **创建索引**: 使用 BBoss 提供的 API 创建索引,指定映射(Mapping)以便对数据类型进行定义。 2. **插入数据**: 将业务数据插入到索引中,BBoss 提供了批量插入功能,可以高效处理大量数据。 3. **查询数据**: ...

    Bboss国际化实践.ppt

    【Bboss国际化实践】主要涉及了软件系统的全球化适应性改造,以便支持多语言环境。以下是对这个主题的详细解析: 1. **界面元素国际化**: - 界面文字:所有用户可见的文字都需要进行翻译,确保不同语言环境下的...

Global site tag (gtag.js) - Google Analytics