`

struts1.2 单文件上传

    博客分类:
  • java
阅读更多

jsp:

<%@ page language="java" pageEncoding="GBK"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%> 
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
 
<html> 
    <head>
        <title>JSP for UpfileForm form</title>
    </head>
    <body>
        <html:form action="/upfile" enctype="multipart/form-data">
            file : <html:file property="file" /><html:errors property="file"/><br/>
            <html:submit value="确定"/>
        </html:form>
    </body>
</html>

 

注意表单类型必须为:enctype="multipart/form-data".
Struts-Config.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">

<struts-config>
  <data-sources />
  <form-beans >
    <form-bean name="upfileForm" type="com.yourcompany.struts.form.UpfileForm" />

  </form-beans>

  <global-exceptions />
  <global-forwards />
  <action-mappings >
    <action
      attribute="upfileForm"
      input="/upfile.jsp"
      name="upfileForm"
      path="/upfile"
      scope="request"
      type="com.yourcompany.struts.action.UpfileAction" />

  </action-mappings>

  <message-resources parameter="com.yourcompany.struts.ApplicationResources" />
</struts-config>

 

web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
      <param-name>config</param-name>
      <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <init-param>
      <param-name>debug</param-name>
      <param-value>3</param-value>
    </init-param>
    <init-param>
      <param-name>detail</param-name>
      <param-value>3</param-value>
    </init-param>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

 

UpfileForm.java:

/**//*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 */
package com.yourcompany.struts.form;

import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.upload.FormFile;

/** *//** 
 * MyEclipse Struts
 * Creation date: 09-28-2007
 * 
 * XDoclet definition:
 * @struts.form name="upfileForm"
 */
public class UpfileForm extends ActionForm {
    /**//*
     * Generated fields
     */

    /** *//** file property */
    private FormFile file;


    /**//*
     * Generated Methods
     */

    /** *//** 
     * Method validate
     * @param mapping
     * @param request
     * @return ActionErrors
     */
    public ActionErrors validate(ActionMapping mapping,
            HttpServletRequest request) {
        // TODO Auto-generated method stub
        return null;
    }

    /** *//** 
     * Method reset
     * @param mapping
     * @param request
     */
    public void reset(ActionMapping mapping, HttpServletRequest request) {
        // TODO Auto-generated method stub
    }

    public FormFile getFile() {
        return file;
    }

    public void setFile(FormFile file) {
        this.file = file;
    }

    
}

 

UpfileAction.java:

/**//*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 */
package com.yourcompany.struts.action;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.upload.FormFile;

import com.yourcompany.struts.form.UpfileForm;

/** *//** 
 * MyEclipse Struts
 * Creation date: 09-28-2007
 * 
 * XDoclet definition:
 * @struts.action path="/upfile" name="upfileForm" input="/upfile.jsp" scope="request" validate="true"
 */
public class UpfileAction extends Action {
    /**//*
     * Generated Methods
     */

    /** *//** 
     * Method execute
     * @param mapping
     * @param form
     * @param request
     * @param response
     * @return ActionForward
     */
    public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response) {
        UpfileForm upfileForm = (UpfileForm) form;
        FormFile file = upfileForm.getFile();
        FileOutputStream fileOutput;
        
        try {
            fileOutput = new FileOutputStream("d://" + file.getFileName());
            fileOutput.write(file.getFileData());
            fileOutput.flush();
            fileOutput.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        
        

        return null;
    }
}

 

当然对于Form我们也可以用动态的:

LazyValidatorForm uploadForm = (LazyValidatorForm) form;

 

然后FormFile可以直接 通过form得到:

FormFile formFile = uploadForm.get("file");

 

相应的在web.xml中的配置:

<form-bean name="uploadForm" type="org.apache.struts.validator.lazyValidatorForm" />

 

分享到:
评论

相关推荐

    struts1.2 简单文件上传例子

    通过这个简单的Struts1.2文件上传示例,我们可以学习到如何在Java Web环境中处理文件上传,理解MVC框架如何与外部库协同工作,以及如何在实际应用中确保文件上传的安全性。这对于任何想要深入理解Struts1.2或者进行...

    基于Struts1.2的上传下载Demo

    本项目"基于Struts1.2的上传下载Demo"是针对该框架的一个实践示例,旨在帮助开发者理解和解决在Struts1.2环境中进行文件上传与下载的问题。 首先,让我们深入了解一下Struts1.2中的文件上传功能。在Struts1.2中,...

    Struts1.2 多文件上传下载

    在"Struts1.2 多文件上传下载"这个主题中,我们将深入探讨如何使用Struts1.2实现多个文件的上传和下载功能。 首先,文件上传功能在Web应用中很常见,例如用户可能需要上传个人照片、文档或其他媒体文件。在Struts...

    struts1.2实现动态多文件上传

    在Struts1.2中实现动态多文件上传是一项常见的需求,它允许用户在一次提交中上传多个文件,如图片、文档等。这项功能的实现涉及前端表单设计、后端处理逻辑以及文件存储策略。 首先,我们需要创建一个HTML或JSP页面...

    struts1.2 jar包

    此外,可能还包括第三方依赖库,如`commons-logging.jar`用于日志处理,`commons-fileupload.jar`处理文件上传等。 使用Struts1.2时,开发者需要在项目的`WEB-INF/lib`目录下添加这些jar文件,然后在Web应用的配置...

    struts1.2文件上传demo

    这个"struts1.2文件上传demo"是一个基于MyEclipse6.0集成开发环境的示例项目,用于演示如何在Struts1.2框架下实现文件上传功能。以下将详细介绍该知识点。 首先,Struts1.2是一个开源的MVC(Model-View-Controller...

    struts1.2实现图片上传

    Struts1.2是一个经典的Java Web开发框架,它在企业级应用中被广泛使用,尤其在处理表单提交和动作调度方面。图片上传是Web应用中的常见功能,它允许用户上传图片并存储在服务器上。在Struts1.2中实现这一功能需要...

    偶遇struts1.2文件上传

    这篇博客"偶遇struts1.2文件上传"可能涉及到了如何在Struts1.2框架下实现文件上传功能,这是一个常见的需求,特别是在用户需要提交图像、文档等数据时。下面我们将详细讨论Struts1.2中的文件上传机制及其相关的源码...

    Struts1.2 文件上传

    在Struts1.2中实现文件上传是一项常见的需求,它可以允许用户通过Web界面上传文件到服务器。在这个过程中,我们将探讨如何使用Struts1.2框架来实现文件上传功能,并涉及到相关的知识点。 1. **MultipartRequest**: ...

    struts1.2 图片文件上传(单个/动态多个)

    struts1.2 图片文件上传(单个/动态多个) 单个的采用通用Action 需要ActionForm的,而动态多个上传是采用动态代理类(DispatchAction) 希望对大家有用,另JSP在IE测试通过,JS我就不再处理了!

    struts1.2-jars.rar 所有jar包

    3. `commons-fileupload.jar`:Apache Commons FileUpload,处理HTTP请求中的文件上传功能。 4. `commons-logging.jar`:Apache Commons Logging,提供统一的日志接口,方便切换不同的日志实现。 5. `commons-...

    struts1.2 图片上传下载 源代码

    Struts1.2框架是Apache组织开发的...通过学习这个源代码,开发者可以深入理解Struts1.2框架处理文件上传下载的机制,并将其应用到自己的项目中。同时,也可以借鉴其中的安全策略和用户体验设计,提升Web应用的交互性。

    struts1.2-jars.zip

    - **commons-fileupload.jar**:处理文件上传的功能。 - **其他依赖的库**:可能还包括如Jakarta ORO、JSTL等第三方库。 使用这些jar文件时,开发者需要将它们添加到项目的类路径中,并根据项目需求进行相应的配置...

    Struts1.2 formfile实现批量上传

    在Struts1.2框架中,FormFile是用于处理文件上传的一个关键组件,尤其是在实现批量上传功能时。本文将深入探讨如何使用FormFile在Struts1.2中实现实现批量文件上传,以及相关的技术要点。 一、Struts1.2简介 Struts...

    struts1.2下实现文件上传进度条

    ### Struts 1.2 下实现文件上传进度条的关键知识点 #### 一、背景与目的 在基于Struts 1.2的Web应用中,实现文件上传时常常需要提供一个友好的用户界面来显示文件上传进度。这不仅提高了用户体验,还能够实时反馈...

    struts 1.2 文件上传与下载.txt

    根据提供的文件信息,本文将详细解析Struts 1.2框架中的文件上传功能,并通过具体的代码示例来阐述其实现过程和技术要点。 ### Struts 1.2框架简介 Struts是一个开源的Web应用程序框架,它遵循MVC(Model-View-...

    struts1.2上传图片源代码(包含检查文件格式、限制文件大小功能)

    Struts1.2是一个经典的Java Web开发框架,用于构建基于MVC(模型-视图-控制器)模式的应用程序。...对于初学者来说,这是一个很好的学习实例,可以帮助他们掌握Web开发中的文件上传操作和Struts1.2框架的使用。

    struts1.2和commons-fileupload实现文件上传

    Struts1.2和Commons-Fileupload是Java Web开发中用于实现文件上传的两个重要组件。Struts1.2是Apache的一个开源框架,主要用于构建MVC(模型-视图-控制器)架构的Web应用程序,而Commons-Fileupload则是Apache ...

    struts1.2 上传实例总结

    在Struts 1.2框架中,文件上传是一个常见的需求,尤其在开发Web应用程序时。Struts 1.2提供了一种便捷的方式来处理文件上传,它通过`org.apache.struts.upload.FormFile`类来实现。这个类是Struts 1.x版本中处理文件...

    Struts1.2上传+下载

    在Struts1.2中,文件上传通常依赖于`commons-fileupload`和`commons-io`这两个Apache Commons库。首先,需要在项目中引入这两个库的JAR文件。然后,创建一个ActionForm类,该类包含一个File类型的属性,用于存储上传...

Global site tag (gtag.js) - Google Analytics