`
lyx_2709
  • 浏览: 314678 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

strut上传详解附视频源码

阅读更多

Struts上传文件<o:p></o:p>

开发环境:<o:p></o:p>

    Eclipse3.2  MyEclipse5.0  Tomcat<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="30" month="12" year="1899">5.5.9</st1:chsdate><o:p></o:p>

步骤<o:p></o:p>

    新建工程 upload<o:p></o:p>

<o:p> </o:p>    添加 Struts 框架使用 Struts1.2 版本<o:p></o:p>

<o:p> </o:p>新建 一个 jsp,action,ActionForm<o:p></o:p>

这里一定要注意版本的对应<o:p></o:p>

    修改动态 From 的类型为 org.apache.struts.upload.FormFile<o:p></o:p>

<o:p> </o:p>    <form-bean name="upfileForm" type="org.apache.struts.action.DynaActionForm"><o:p></o:p>

           <form-property name="filedata" type="java.lang.String" /><o:p></o:p>

    </form-bean><o:p></o:p>

    改为

     <form-property name="filedata" type="org.apache.struts.upload.FormFile" /><o:p></o:p>

<o:p> </o:p>   修改 upload.jsp 文件<Form> 中加入 enctype="multipart/form-data" ,提交使用二进制类型的文件<o:p></o:p>   修改文件第一行代码

    <%@ page contentType="text/html;charset=UTF-8"%><o:p></o:p>

       这里将使用 UTF-8 的编码格式<o:p></o:p>

<o:p> </o:p>    修改 upfileAction.java 文件修改后的内容如下<o:p></o:p>

java 代码
 
  1. package com.lyx.struts.action;  
  2.   
  3. import java.io.FileNotFoundException;  
  4. import java.io.FileOutputStream;  
  5. import java.io.IOException;  
  6. import java.io.InputStream;  
  7. import java.io.OutputStream;  
  8.   
  9. import javax.servlet.http.HttpServletRequest;  
  10. import javax.servlet.http.HttpServletResponse;  
  11.   
  12. import org.apache.struts.action.Action;  
  13. import org.apache.struts.action.ActionForm;  
  14. import org.apache.struts.action.ActionForward;  
  15. import org.apache.struts.action.ActionMapping;  
  16. import org.apache.struts.action.DynaActionForm;  
  17. import org.apache.struts.upload.FormFile;  
  18. public class UpfileAction extends Action {  
  19.   
  20.     public ActionForward execute(  
  21.         ActionMapping mapping,  
  22.         ActionForm form,  
  23.         HttpServletRequest request,  
  24.         HttpServletResponse response) {  
  25.         DynaActionForm upfileForm = (DynaActionForm) form;  
  26.         // 声明并获取对像  
  27.         String filename = upfileForm.getString("filename");  
  28.         // 输出文件名  
  29.         System.out.println(filename);  
  30.         FormFile filedata = (FormFile) upfileForm.get("filedata");  
  31.         // 取当前系统路径  
  32.         String filePath = request.getRealPath("/");   
  33.        //servlet.getServletContext().getRealPath("/upload");  
  34.         try {  
  35.             // 转换文件为数据流  
  36.             InputStream stream = filedata.getInputStream();  
  37.             // 建立输出流  
  38.             OutputStream bos = new FileOutputStream(filePath + "/" +  
  39.                     filedata.getFileName());  
  40.             // 将文件写入网站根目录下  
  41.             int bytesRead = 0;  
  42.             byte[] buffer = new byte[8192];  
  43.             while ( (bytesRead = stream.read(buffer, 08192)) != -1) {  
  44.                 bos.write(buffer, 0, bytesRead);  
  45.             }  
  46.             bos.close();  
  47.             stream.close();  
  48.         } catch (FileNotFoundException e) {  
  49.             // TODO Auto-generated catch block  
  50.             e.printStackTrace();  
  51.         } catch (IOException e) {  
  52.             // TODO Auto-generated catch block  
  53.             e.printStackTrace();  
  54.         }  
  55.         // 返回到提交页面  
  56.         return mapping.getInputForward();  
  57.     }  
  58.   
  59. }  

    增加一个过滤器,过滤器的代码请查看包中的具体文件<o:p></o:p>

<o:p> </o:p>    web.xml 文件中加入以下配置内容,过滤器的编码设置为 UTF-8

xml 代码
 
  1.  <filter>  
  2.     <filter-name>Set Character Encoding</filter-name>  
  3.     <filter-class>com.lyx.SetCharacterEncodingFilter</filter-class>  
  4.     <init-param>  
  5.         <param-name>encoding</param-name>  
  6.         <param-value>UTF-8</param-value>  
  7.     </init-param>  
  8. </filter>  
  9. <filter-mapping>  
  10.     <filter-name>Set Character Encoding</filter-name>  
  11.     <url-pattern>/*</url-pattern>  
  12. </filter-mapping>  
  13. <filter-mapping>  
  14.     <filter-name>Set Character Encoding</filter-name>  
  15.     <servlet-name>action</servlet-name>  
  16. </filter-mapping>  
<o:p></o:p>

  • upload.rar (1.3 MB)
  • 描述: 程序源码
  • 下载次数: 1030
分享到:
评论
4 楼 zhouyangshiwo 2010-01-12  
谢谢,下载学习了。
3 楼 kiss.988 2007-03-24  
谢谢老师分享,我研究研究!
2 楼 liyanyan_love 2007-03-22  
谢谢,我正在找
1 楼 langyong314 2007-03-03  
不错。运行后再发表意见。

相关推荐

    strut上传详解附视频

    总之,"Struts上传详解附视频"这一主题覆盖了Struts2框架下实现文件上传的关键技术和实践技巧,对于想要学习或优化Java Web应用文件上传功能的开发者来说,是一个非常有价值的资源。通过学习这些内容,你可以更好地...

    张孝祥Struts视频源代码

    "张孝祥Struts视频源代码"很可能是由知名IT讲师张孝祥制作的一系列关于Struts框架的教程,其中包含了相应的源代码,帮助学习者通过实际操作理解Struts的工作原理和应用。 在深入探讨Struts框架之前,我们首先需要...

    Struts2深入详解 源码

    Struts2深入详解一书的源代码,Struts2深入详解

    struts2深入详解源码1-5章

    本资料包包含的是《Struts2深入详解》一书的源码分析,涵盖了从第一章到第五章的内容,并附带了相关的jar包,方便读者结合理论与实践进行学习。 首先,让我们从第一章开始,Struts2的基础知识。这一章通常会介绍...

    Struts视图组件详解附源代码

    至于提供的"ActionForm课堂代码",这部分内容可能包含了一些示例代码,比如ActionForm类的实现、JSP页面中标签的使用,以及struts-config.xml的配置等。通过这些代码,你可以更好地理解ActionForm的工作原理和标签的...

    struts技术详解源码1

    struts技术详解源码

    struts技术详解源码2

    struts技术详解源码2

    struts1和struts2源代码详解

    本篇将深入探讨Struts1和Struts2的源代码,揭示其内部工作原理及核心组件。 **一、Struts1详解** 1. **架构概述**:Struts1基于Servlet API,通过FilterDispatcher拦截请求,将控制权交给ActionServlet。Action...

    传智播客struts2.1视频教程—源代码

    记得下载所有分块的rar文件(51CTO下载-传智播客struts2.1视频教程_源代码.part1.rar、51CTO下载-传智播客struts2.1视频教程_源代码.part3.rar、51CTO下载-传智播客struts2.1视频教程_源代码.part2.rar、51CTO下载-...

    struts标签详解 (实例 很详细(war))

    Struts是一个著名的开源MVC框架,它在Java Web开发中占据着重要的...此外,源码分析有助于开发者提高代码阅读能力,对框架的内部运作有更深入的认识。对于想要提升Java Web开发技能的人来说,这是一个极好的学习资源。

    Struts2文件上传详解

    Struts2文件上传详解 在Java Web开发中,文件上传是一项常见的功能,Struts2作为一款流行的MVC框架,提供了完善的文件上传支持。本篇将深入讲解Struts2中的文件上传实现及其相关知识点。 首先,我们需要理解Struts...

    struts1.x 常用知识详解

    3. **配置文件**:`struts-config.xml`是Struts1.x的核心配置文件,用于定义Action、ActionForm、ActionForward等元素,以及数据源和国际化资源等。 二、ActionForm与数据绑定 1. **ActionForm**:ActionForm对象...

    struts2常用标签详解

    Struts2是一个强大的MVC(模型-视图-控制器)框架,它极大地简化了Java Web应用的开发。本文将深入探讨Struts2框架中的常用标签,这些标签在创建动态Web页面时发挥着至关重要的作用。 1. **s:form标签**: Struts2...

    struts2重定向实例源码

    通过深入研究这个实例源码,你可以了解到Struts2中重定向的实际运用,以及如何根据需求选择合适的重定向策略。这不仅有助于提升你的编程技能,还能让你在解决实际问题时更加游刃有余。记住,实践是检验理论的最好...

    Struts 2 技术详解:基于WebWork核心的MVC开发与实践

    这可能表示书中包含了Web应用的实际部署结构,`WEB-INF`通常包含`web.xml`配置文件,章节目录可能包含各章节讲解的源代码示例,而`pages`目录可能是存放JSP或其他视图文件的地方。 学习Struts 2,你需要理解它的...

    孙卫琴 精通struts 入门详解 Helloapp

    Struts是Apache软件基金会 Jakarta项目下的一个开源框架,主要用于...在实际学习过程中,建议结合源代码和相关文档,动手操作以加深理解。同时,也要关注Struts的版本更新,如Struts 2,它引入了更多特性并优化了架构。

    张龙老师Struts2应用开发详解源码(全)

    张龙老师的Struts2应用开发详解源码课程,旨在帮助开发者深入理解Struts2框架的工作原理,掌握其核心特性和最佳实践。 1. **Struts2框架概述**: Struts2是Struts1的升级版,由Apache软件基金会维护。它继承了...

    Struts2+Hibernate+Spring整合开发技术详解19章网上书店完整源码

    Struts2+Hibernate+Spring整合开发技术详解19章网上书店完整源码(内附数据库导出文件) 与书上最后一章内容完全对应 可以结合书上教程进行最后一章学习

    Struts2标签集锦(附Struts2标签详解word文档)

    Struts2标签是Java开发中一个非常重要的工具,它极大地简化了MVC框架下的视图层构建,使得开发者能够...提供的“Struts2标签详解.doc”文档将对这些概念进行详细的解释,是深入学习和理解Struts2标签的重要参考资料。

Global site tag (gtag.js) - Google Analytics