使用WebWork common file upload上载文件

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情
 

一、软件环境
1。webwork2.1.7
2。apache common fileupload1.0

二、编写input.jsp
<html>
  <head><title>File Upload</title>    
</head>
  <body>

  <form action="fileUpload.action" enctype="multipart/form-data" method="POST">
<p>   <input type="text" name="fileFileName"/> <input type="file" name="file"/><br>
  <p>   <input type="text" name="hello"/> <input type="file" name="files"/><br>
    <p>   <input type="text" name="hello"/> <input type="file" name="files"/><br>
      <p>   <input type="text" name="hello"/> <input type="file" name="files"/><br>
<p>    <input type="submit" name="上载"/>
  </form>
  </body>
</html>

三、编写action
import java.io.*;
import java.util.*;

import com.opensymphony.xwork.*;

public class FileUploadAction implements Action {
    File file;
    String fileContentType;
    String fileFileName;
    File[] files;
    String[] filesContentType;
    String[] filesFileName;
    private boolean debug=true;

    public String execute() throws Exception {
        ActionContext context=ActionContext.getContext();
        Map map=context.getParameters();
        context.getValueStack();
        if(filesFileName!=null)
        {
            for (int i = 0; i < filesFileName.length; i++) {
                String srcName = filesFileName[i];
                File target = new File(srcName);
                if (target.exists()) {
                    target.delete();
                }
                files[i].renameTo(target);
            }
        }
      
        return SUCCESS;
    }

    public String doDefault() throws Exception {
        return INPUT;
    }

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

    public void setFileContentType(String fileContentType) {
        this.fileContentType = fileContentType;
    }

    public void setFiles(File[] files) {
        this.files = files;
        if(files==null)
        {
            return ;
        }
        if(debug)
        {
            for (int i = 0; i < files.length; i++) {
                System.out.println(files[i].getName()) ;
            }
        }
    }

    public void setFilesContentType(String[] filesContentType) {
        this.filesContentType = filesContentType;
    }

    public void setFilesFileName(String[] filesFileName) {
        this.filesFileName = filesFileName;
    }

    public void setFileFileName(String fileFileName) {
        this.fileFileName = fileFileName;
    }

    public void setDebug(boolean debug) {
        this.debug = debug;
    }

    三、配置xwork.xml
    <package name="fileUpload" extends="webwork-default" namespace="/fileUpload">
    <interceptors>
    <interceptor name="fileUpload" class="com.opensymphony.webwork.interceptor.FileUploadInterceptor">
      <param name="allowedTypes">image/jpeg/jpg/bmp/txt</param>
      <param name="maximumSize">10000000</param>
    </interceptor>
    <interceptor-stack name="fileUploadStack">
         <interceptor-ref name="fileUpload"/>
         <interceptor-ref name="defaultStack"/>
       </interceptor-stack>
    </interceptors>
        <default-interceptor-ref name="fileUploadStack"/>
        <action name="fileUpload" class="org.bluebird.web.file.action.FileUploadAction">
            <result name="success">success.jsp</result>
            <result name="input">input.jsp</result>
        </action>
    </package>

    四、修改webwork.properties
    
# various values
webwork.multipart.parser=jakarta
webwork.multipart.saveDir=/tmp
webwork.multipart.maxSize=10000000

  五、总结
webwork支持common fileupload, pell,cos三种方式的文件上载,common对多文件上载支持的比较好。
webwork文件上传 简单的使用webwork框架实现了文件上传的功能 主要是针对EXCEL文件 立即下载

相关推荐

基于矩约束的最大熵方法用于扩展不确定度评估(Matlab代码实现)

内容概要:本文系统阐述了基于矩约束的最大熵方法在扩展不确定度评估中的理论基础与实现方法,并配套提供了Matlab代码实现。该方法通过引入已知的矩约束(如均值、方差等),在缺乏先验分布信息的前提下,依据最大熵原理推导出最符合客观规律且信息量最大的概率分布,从而对测量结果的不确定度进行更为合理和稳健的量化评估。文中详细论述了算法的数学推导过程、数值求解策略以及在实际工程问题中的应用步骤,尤其强调了其在处理非正态分布、小样本数据等传统方法难以应对的复杂场景时所展现出的优越性。; 适合人群:具备概率统计、信息论及数值计算基础知识,从事测量科学、实验数据分析、可靠性工程、系统建模与仿真等领域研究的科研人员、工程师,以及熟悉Matlab编程并希望深入理解不确定度量化前沿方法的技术开发者; 使用场景及目标:①应用于高精度仪器校准、物理实验数据处理等需要精确评定扩展不确定度的场景;②解决输入变量分布未知或非正态时的不确定性传播与合成问题;③目标是克服传统GUM方法的局限性,提升在信息不充分条件下的评估客观性与鲁棒性; 阅读建议:建议读者结合所提供的Matlab代码,深入理解拉格朗日乘子法求解最大熵分布的具体实现过程,重点关注矩约束的构建、熵最大化方程的求解以及最终置信区间的获取,同时可通过对比不同约束条件下评估结果的变化,来深刻把握该方法的适用条件与优势所在。

WebWork之--使用fileUpload interceptor实现文件上传[基本配置+注意事项]

使用webworkfileUpload interceptor,可以很方便的实现文件上传功能。以下为我在编写文件上传功能实现中的一些总结: 一:基本配置 开发环境: 服务器:tomcat 5.X webwork版本:webwork 2.2.2 另外,需要把apache下的commons FileUpload包放到你的classpath中,我的是直接放置在${app}/WEB-IN...

Mov 439

电动汽车聚合可行域的内近似模型及其在微电网调度中的应用(Matlab代码实现)

内容概要:本文提出了一种电动汽车聚合可行域的内近似模型,旨在精确刻画大规模电动汽车(EV)集群在充放电过程中的灵活性边界,并将其应用于含风、光、负荷等多重不确定性的微电网两阶段鲁棒调度中。通过引入鲁棒优化理论,结合大M法与列与约束生成(C&CG)算法,构建了能够有效处理不确定性并保证系统安全运行的优化模型。该方法不仅提升了对EV集群可调度能力的建模精度,还在保证计算效率的同时增强了微电网对可再生能源的消纳能力与运行经济性。; 适合人群:具备电力系统优化、鲁棒调度及混合整数规划基础知识,从事新能源并网、电动汽车参与电网互动、微电网能量管理等相关领域的研究生、科研人员及工程技术人员。; 使用场景及目标:①研究电动汽车集群作为分布式灵活资源参与电网调度的建模方法;②解决高比例可再生能源接入下的微电网两阶段鲁棒调度问题;③掌握大M法与C&CG算法在复杂鲁棒优化模型中的实现路径与求解技巧; 阅读建议:此资源以Matlab代码实现为核心支撑,建议读者结合文中详细的模型推导与算法流程,动手运行并调试配套程序,深入理解内近似建模思想与鲁棒优化求解机制,同时可进一步拓展至外近似模型或不同聚合策略的对比分析,以全面掌握EV集群灵活性建模的技术体系。

SSH框架中实现文件的上传功能

1.上传页面代码 upload.jsp 请选择需要上传的文件: 2.通过struts的控制跳转的action代码,将选择的文件通过流上传到项目目录下的upload文件夹中。 package com.boya.action; import java.io.File; import java.io.FileInputStream; impor

clare504的专栏 4万+

wpf 上传图片

using System; using System.IO; namespace puruite.Helps { class Upload { public static string UploadImage(string fileName, Stream fileData) { // 获取file后缀 ...

征途人生&梦 505

如何修改 xwork.xml 配置文件以及解析

最近项目需要使用一套工作流管理的框架,研究决议使用xwork框架做基础,实现工作流 修改框架需要干几件事情,首先配置文件要改,不然与标准框架的配置文件产生冲突: 1.修改xml配置文件名称 这个文件名称必须改,不然你叫xwork.xml 标准xwork的框架也叫这个,容易产生混乱。 xwork中读取这个配置文件的是 ConfigurationManager类的getContainerP...

江湖小虾米 476

【技术】SSM文件上传下载

SSM上传下载上传 上传 上传文件的基本要求: 1、form表单提交必须是post请求:method="post" 2、添加enctype属性:enctype="multipart/form-data"

Riu_Peter 4310

Struts2实现文件的上传并实现错误提示

1.首先建一个project,添加struts2的必备jar包,在src目录下建一个struts.xml来配置struts2. 在apps下找到struts2-blank-->WEB-INF-->classes-->struts.xml 2.新建一个upload.jsp 记得,一定要用post方法提交表单,enctype=“multipart/form-data” ...

glnanana的博客 1443

几种常见的异常

今天在做项目的时候报了这样一个错,所以我整理一些常见的异常,以便以后方便。 java.io.EOFException at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2498) at java.io.ObjectInputStream.readObject0(ObjectInputS...

功夫熊猫 193

WebWork文件上传的问题---Content-Type not allowed

今天原本想完成一个webwork实现文件上传的功能,原来的实现很是复杂,另外弹出一个页面,使用apache——upload组件将要上传的图片先提交到服务器,然后这个jsp的页面返回该文件的服务器的路径,提交表单接受这个这个参数,然后提交信息。 现在看这种实现过于复杂,因为种种原因一直没有修改,现在终于提出要修改这个上传实现。webwork的拦截器实现了文件的上传,这样的例子也很多,很快按照一个例子...

皇马啸西风的一亩三分地 558

Webwork文件上传

WebWork利用ognl实现的资料绑定是非常实用的功能, 能够避免繁琐调用request.getParameter, object setter, 也不需要任何的多余配置文件, 再加上转换器的功能( http://forum.javaeye.com/viewtopic.php?t=10507 ), 我们就可以用一个业务对象, 从前台一直串到后台, 再也不需要考虑String转化, 不需要DTO,

汪翰翔的Blog 3778

Web程序开发配置(Eclipse + Tomcat + Webwork + Hibernate)

1.     所需软件 1.       JDK 1.4.2以上版本2.       Eclipse 3.1.23.       Tomcat的Eclipse平台插件 com.sysdeo.eclipse.tomcat_3.0.04.       Tomcat 5.5.16版本5.       下载Webwork2.2.2, http://www.opensymphony.co

用人生编写程序 用程序编写人生—— 程序人生 1158

WebWord 深入浅出

本文发表于《开源大本营》                                作者:钱安川 前言 本篇文章并没有太多WebWork 的实战代码细节。本人非常希望能充当一名导游的角色,带领读者逐步游览WebWork的功能特性和原理。在第一章,我们将提出基于三层架构的Web层需要解决的10个问题,这是本文的纵轴。围绕着纵轴,我们按照横轴的顺序逐步描述讲解:WebWork简介、We

用人生编写程序 用程序编写人生—— 程序人生 1093

WebWork 概述

WebWork是由OpenSymphony组织开发的,致力于组件化和代码重用的拉出式MVC模式J2EE Web框架。WebWork目前最新版本是2.1,现在的WebWork2.x前身是Rickard Oberg开发的WebWork,但现在WebWork已经被拆分成了Xwork1和WebWork2两个项目。 Xwork简洁、灵活功能强大,它是一个标准的Command模式实现,并且完全从web层脱离出

用人生编写程序 用程序编写人生—— 程序人生 890

WebWork初体验

在这篇ASP.NET 中Session 实现原理浅析[2] 状态管理器Blog中,Flier老大向大家推荐了Java中几种Cache的实现,于是我就按图索骥,首先是找到OSCache的老家:OpenSymphony。哇,这里的资源真多啊,简直就是一个宝藏。为什么原来就没有发现呢?感谢Flier老大了!        在OpenSymphony的主页上,我看到了两个让我觉得很亲切的项目:WebWor

用人生编写程序 用程序编写人生—— 程序人生 734

web wrok入门

(1) 在tomcat/webapp/中建立一个context(上下文)(tomcat/webapp/webwork);     将webwork中的webwork_2.1.5.jar和/lib/core中的所有.jar文件    加入到tomcat/webapp/webwork/web-info/lib中;(2) 修改web.xml如下:    xmlns:xsi="http://www

用人生编写程序 用程序编写人生—— 程序人生 732
上一篇: Struts + Spring 关键配置
下一篇: Spring与iBATIS的集成
zx870119
博客等级 码龄19年 2粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值