webwork上传

本来上传出现了奇怪的很多的错误,但现在都已正常,
开发包版本一定要一致,目前用的是webwork2.2.2版本的,
它里面自带了很多的开发包,用它的就可以了,不需要去到处下

写完后调试的过程中,老报错:java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream,后来一查才知道少了commons-io-1.2.jar,加上后,就ok了


File cover; //前面的控件是什么名字,这里就对应什么名称
String coverContentType;
String coverFileName;


picName = upload.uploadFile(cover,coverFileName,"upload");
//upload为你要上传的目录

upload的文件已经写好了.直接调用就可以了.


一、软件环境
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对多文件上载支持的比较好。
先展示下效果 https://pan.quark.cn/s/a4b39357ea24 遗传算法 - 简书 遗传算法的理论是根据达尔文进化论而设计出来的算法: 人类是朝着好的方向(最优解)进化,进化过程中,会自动选择优良基因,淘汰劣等基因。 遗传算法(英语:genetic algorithm (GA) )是计算数学中用于解决最佳化的搜索算法,是进化算法的一种。 进化算法最初是借鉴了进化生物学中的一些现象而发展起来的,这些现象包括遗传、突变、自然选择、杂交等。 搜索算法的共同特征为: 首先组成一组候选解 依据某些适应性条件测算这些候选解的适应度 根据适应度保留某些候选解,放弃其他候选解 对保留的候选解进行某些操作,生成新的候选解 遗传算法流程 遗传算法的一般步骤 my_fitness函数 评估每条染色体所对应个体的适应度 升序排列适应度评估值,选出 前 parent_number 个 个体作为 待选 parent 种群(适应度函数的值越小越好) 从 待选 parent 种群 中随机选择 2 个个体作为父方和母方。 抽取父母双方的染色体,进行交叉,产生 2 个子代。 (交叉概率) 对子代(parent + 生成的 child)的染色体进行变异。 (变异概率) 重复3,4,5步骤,直到新种群(parentnumber + childnumber)的产生。 循环以上步骤直至找到满意的解。 名词解释 交叉概率:两个个体进行交配的概率。 例如,交配概率为0.8,则80%的“夫妻”会生育后代。 变异概率:所有的基因中发生变异的占总体的比例。 GA函数 适应度函数 适应度函数由解决的问题决定。 举一个平方和的例子。 简单的平方和问题 求函数的最小值,其中每个变量的取值区间都是 [-1, ...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值