效果图
xml配置文件
This is the description of my J2EE component
This is the display name of my J2EE component
UploadServlet
UploadServlet
UploadServlet
/UploadServlet
上传状态记录类uploadStatus
import org.omg.CORBA.LongHolder;
public class UploadStatus {
private long bytesRead;
private long contentLength;
private int items;
private long startTime=System.currentTimeMillis();
public long getBytesRead() {
return bytesRead;
}
public void setBytesRead(long bytesRead) {
this.bytesRead = bytesRead;
}
public long getContentLength() {
return contentLength;
}
public void setContentLength(long contentLength) {
this.contentLength = contentLength;
}
public int getItems() {
return items;
}
public void setItems(int items) {
this.items = items;
}
public long getStartTime() {
return startTime;
}
public void setStartTime(long startTime) {
this.startTime = startTime;
}
}
上传监听器
import org.apache.commons.fileupload.ProgressListener;
public class UploadListener implements ProgressListener {
private UploadStatus uploadStatus;
public UploadListener(UploadStatus uploadStatus) {
// TODO Auto-generated constructor stub
this.uploadStatus=uploadStatus;
}
@Override
public void update(long arg0, long arg1, int arg2) {
// TODO Auto-generated method stub
uploadStatus.setBytesRead(arg0);
uploadStatus.setContentLength(arg1);
uploadStatus.setItems(arg2);
}
}
servlet文件
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
imp