`
joynet007
  • 浏览: 42248 次
  • 性别: Icon_minigender_1
  • 来自: 宿迁
社区版块
存档分类
最新评论

java 配合 Hibernate ,struts 的上传下载的总结

阅读更多
java 配合 Hibernate ,struts 的上传下载的总结
用的数据库是 sqlserver2000 数据库中大对象的类型是 image

1,上传文件的页面,使用了Struts 标签

<html:form action="/dmdcollect/submit/slsave" method="post" enctype="multipart/form-data" >
        <tr>
                <td class="td1value">&nbsp;</td>
                <td class="td1value" colspan="3">
                <table>
                        <tr><td>&nbsp;&nbsp;
                                <html:file property="data" size="50" />
                        </td></tr>
                        </tbody>
                </table>
        </tr>
        <tr>
                <td colspan="4" class="td1bottom" align="center" >&nbsp;
                        <html:button property="save" value="保存" onclick="dosave()" />
                </td>
        </tr>
</html:form>

<script language="javascript">
       
                function dosave(){
                        var dat = document.getElementById("data");
                        if(dat.value==""){
                                alert("请选择上传文件");
                                return ;
                        }else{
                                document.forms[0].submit();
                        }
                }
              
</script>

Struts 的配置文件

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC
          "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
          "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
<struts-config>
        <form-beans>               
                <form-bean name="DemandDataForm"
                           dynamic="true"
                           type="org.apache.struts.action.DynaActionForm">
                <form-property name="data" type="org.apache.struts.upload.FormFile" />
                </form-bean>
        </form-beans>
        <action-mappings>                        
                <action path="/dmdcollect/submit/slsave"
                        type="com.htjc.web.struts.action.dmdcollect.submit.SlSave"
                        name="DemandDataForm"
                        scope="request"
                        validate="false">
                        <forward name="view" path="/jsp/dmdcollect/submit/sllist.jsp" />
                </action>
                <action path="/dmdcollect/submit/sldown"
                        type="com.htjc.web.struts.action.dmdcollect.submit.SlDownLoad"
                        name="DemandDataForm"
                        scope="request"
                        validate="false">
                </action>
        </action-mappings>
</struts-config>

struts de Action

public class SlSave  extends CollectAction{
        public ActionForward execute(ActionMapping mappings, ActionForm form,
            HttpServletRequest request,
            HttpServletResponse response) throws Exception{

                DynaActionForm dForm = (DynaActionForm)form;
                FormFile file = (FormFile) dForm.get("data");

                String fileName = file.getFileName();
                //获得后缀
                String suffix = "";
                if(fileName.lastIndexOf(".")!=-1){
                       suffix = fileName.substring(fileName.lastIndexOf("."));
                }
                //DemandInfoData 的数据是类型是byte[]
                //file.getFileData() 的返回类型也是byte[]
                DemandInfoData data = new DemandInfoData();
                data.setDataID(dataID);
                data.setData(file.getFileData());
               
                HibernateHelper.save(data);
       
        }
}

-------------------------------数据保存成功了---下面是数据下载-----------------------------

jsp 页面

<td width="30%">
<a href="<%=imgpath %>/dmdcollect/submit/zldown.do?infoID=<%=info.getInfoID() %>&dataID=<%=info.getDataID() %>">
        <%=info.getFileName() %>
</a>
</td>
public class SlDownLoad  extends CollectAction{
        public ActionForward execute(ActionMapping mappings, ActionForm form,
            HttpServletRequest request,
            HttpServletResponse response) throws Exception{

            String dataID=request.getParameter("dataID");
            String infoID = request.getParameter("infoID");

           
            DemandInfo info = collectSystem.getCollectManager().getDemandInfo(infoID);
            DemandInfoData data = collectSystem.getCollectManager().getDemandInfoData(dataID);
           
            response.setContentType("application/x-msdownload");
            response.setHeader("Content-Disposition","attachment;" +
                " filename="+new String(info.getFileName().getBytes(), "ISO-8859-1"));
            ServletOutputStream sout = response.getOutputStream();
            try {
                   InputStream in = new ByteArrayInputStream(data.getData());
                   byte[] b = new byte[1024];
                   int i = 0;
                   while ((i = in.read(b)) > 0) {
                             sout.write(b, 0, i);
                   }
                   sout.flush();
                   in.close();
                   sout.close();
              } catch (Exception e) {
                   e.printStackTrace();
              }
        }
}


------------------说明:最好是右键 目标另存为,迅雷下载比较慢------------------
分享到:
评论

相关推荐

    Struts2+Hibernate实现文件上传

    Struts2和Hibernate是两种非常流行的Java开源框架,它们在Web开发中有着广泛的应用。Struts2主要用于控制应用程序的流程,而Hibernate则是一个强大的对象关系映射(ORM)框架,用于处理数据库操作。在这个“Struts2+...

    Struts2+hibernate雇员部门操作

    总结来说,"Struts2+hibernate雇员部门操作"项目是一个典型的Java Web应用实例,结合了强大的MVC框架和ORM工具,实现了对雇员和部门的CRUD操作及分页显示。这个项目可以帮助开发者更好地理解和掌握Struts2与...

    让Struts与Hibernate顺利协同工作

    Struts与Hibernate是两个非常重要的Java Web开发框架。Struts主要用于控制应用程序的流程,而Hibernate则是一个对象关系映射(ORM)工具,负责将Java对象与数据库中的表进行映射,简化数据访问。让这两个框架协同...

    struts文图片上传 并存入数据库 在jsp页面显示

    这需要使用SQL语句来插入记录,而Struts可以配合Hibernate或MyBatis等持久化框架进行数据库操作。 5. **JSP页面显示**:JSP(JavaServer Pages)是Java EE平台的一部分,用于创建动态web内容。在本例中,JSP将用来...

    spring+hibernate+struts2论坛系统 v1.0(毕业设计)

    在Spring和Struts2的配合下,可以通过拦截器或Action实现文件上传的处理,包括文件大小检查、类型验证以及存储路径的设置。下载则涉及URL重写和响应头的设置,以指示浏览器如何处理返回的内容。 然而,系统的分页...

    struts2 spring hibernate使用XML的整合方式

    ### Struts2、Spring、Hibernate使用XML的整合方式 #### 概述 本文档将详细介绍如何使用XML配置文件实现Struts2、Spring以及Hibernate(通常称为SSH)这三种技术的整合,以支持一个简单的商品管理系统。这个系统...

    struts2 spring hibernate(ssh2)整合实例

    Struts2、Spring和Hibernate(SSH2)是Java Web开发中的三大框架,它们的整合使用可以构建出高效、模块化且易于维护的企业级应用。在这个简单的“人力资源管理系统”实例中,我们将探讨如何将这三个框架有效地集成在...

    基于struts+hibernate的采购管理系统源码.zip

    本系统——基于Struts+Hibernate的采购管理系统,是一个典型的企业级Java Web应用,它巧妙地结合了Struts、Hibernate两大框架,为企业的采购管理提供了一套高效、灵活的解决方案。下面,我们将深入探讨这个系统的...

    Java三大框架SSH框架

    在实现分页功能时,通常会结合Spring和Hibernate,使用Spring的数据库抽象层(如JdbcTemplate或HibernateTemplate)配合Hibernate的Criteria或Query来执行分页查询。对于上传下载,Struts2提供了文件上传和下载的API...

    struts2所用到的jar包

    2. **IO包**:在Struts2中,`struts2-core`库中包含了处理输入和输出的工具,如流处理、文件上传和下载等功能。`org.apache.struts2.util`包下的`FileItem`和`FileUpload`类是实现文件上传的关键,它们帮助开发者...

    SSPP.rar_sspp_struts_struts 上传_www.77sspp_com

    在Struts框架中,通常使用`struts.multipart.parser`配置来处理文件上传,配合ActionForm或Action类来接收上传文件。 6. **Email组件**:项目中提到的Email组件可能是指使用JavaMail API或第三方库如Apache Commons...

    struts2+spring3+hibernate3所需 jar包

    总结来说,这个压缩包中的JAR文件是构建基于Struts2、Spring3和Hibernate3的Java Web应用的基础,它们协同工作,为开发者提供了一个高效、灵活且可维护的开发环境。理解并熟练掌握这三个框架,对于Java后端开发者来...

    Struts1文件上传小项目

    总结来说,"Struts1文件上传小项目"是一个涵盖了Struts1框架、Hibernate ORM以及基本Web开发技能的综合练习,它要求开发者具备良好的Java基础、MVC设计模式理解、数据库操作经验以及一定的前端交互知识。通过这个...

    struts2hibernate4spring4项目 源码(最初的最初)

    此外,Struts2还有丰富的插件和拦截器,支持国际化、验证、文件上传下载等功能。 接下来,Hibernate4是对象关系映射(ORM)框架,它允许开发者用Java对象来操作数据库。Hibernate4通过提供Session API,简化了...

    基于Servlet+JSP+Struts2+Hibernate4开发的房屋租赁系统.zip

    3. **租赁合同**:系统可能提供合同模板,供用户在达成租赁协议后生成合同,涉及到文件上传和下载功能,这通常会利用Servlet处理。 4. **支付管理**:如果系统支持在线支付,可能会集成第三方支付接口,如支付宝或...

    struts2(ssh)带进度条文件上传 demo 的jar包1

    Struts2是一个非常流行的Java Web框架,用于构建企业级应用。SSH是Struts2、Spring和Hibernate三个开源框架的组合,常被用来构建强大的、基于MVC(Model-View-Controller)架构的Web应用程序。在Struts2中,实现文件...

    Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解实例

    在3.3.1版本中,主要依赖于`hibernate-entitymanager`、`hibernate-core`以及`hibernate-jpa-2.0-api`等,这些包实现了JPA(Java Persistence API),支持实体对象的映射。`slf4j-api`作为日志接口,需要配合具体的...

    小型的员工管理系统哦,上传,下载,分页,日期选择器,权限控制

    Struts可以结合后台的业务逻辑,配合Hibernate查询出指定页码的数据,再由前端展示出来,实现数据的动态加载。 最后,权限控制是企业管理系统的必备模块。系统可能有不同级别的用户,如管理员、普通员工等,他们对...

    Struts2搭配

    在开发Java Web应用时,Struts2通常与Oracle这样的关系型数据库配合使用,进行数据持久化。通过JDBC或者ORM框架(如Hibernate、MyBatis)连接Oracle,执行SQL语句,实现数据的增删改查操作。 综上所述,Struts2是一...

    java 调用摄像头制作头像

    通常,一个基于这些技术的项目会包含配置文件(如Struts的struts.xml,Hibernate的hibernate.cfg.xml,Spring的applicationContext.xml),源代码(.java文件),Web资源(JSP、HTML、CSS、JavaScript),以及可能的...

Global site tag (gtag.js) - Google Analytics