`
- 浏览:
111673 次
- 性别:
-
web.xml配置:
- <?xmlversion="1.0"encoding="UTF-8"?>
- <web-appversion="2.5"
- xmlns="http://java.sun.com/xml/ns/javaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
- http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
- <welcome-file-list>
- <welcome-file>index.jsp</welcome-file>
- </welcome-file-list>
- <filter>
- <filter-name>struts2</filter-name>
- <filter-class>
- org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
- </filter-class>
- </filter>
- <filter-mapping>
- <filter-name>struts2</filter-name>
- <url-pattern>*.action</url-pattern>
- </filter-mapping>
- </web-app>
struts.xml配置:
- <?xmlversion="1.0"encoding="UTF-8"?>
- <!DOCTYPEstrutsPUBLIC"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.1//EN""http://struts.apache.org/dtds/struts-2.1.dtd">
- <struts>
- <constantname="struts.i18n.encoding"value="utf-8"/>
- <packagename="file"extends="struts-default">
- <actionname="showUpload">
- <result>/upload.jsp</result>
- </action>
- <actionname="upload"class="com.boxun.hzw.action.UploadAction">
- <resultname="input">/upload.jsp</result>
- <result>/download.jsp</result>
- <interceptor-refname="fileUpload">
- <paramname="maximumSize">2097152</param>
- <paramname="addowedTypes">image/bmp,image/jpg</param>
- </interceptor-ref>
- <interceptor-refname="defaultStack"></interceptor-ref>
- </action>
- <actionname="download"class="com.boxun.hzw.action.DownloadAction">
- <resultname="success"type="stream">
- <paramname="contentDisposition">attachment;filename="${fileName}"</param>
- <paramname="inputName">downloadFile</param>
- </result>
- </action>
- </package>
- </struts>
后台实体类代码:
- packagecom.boxun.hzw.bean;
- publicclassUploadFiles{
- privateStringuploadContentType;
- privateStringuploadFileName;
- privateStringuploadRealName;
- publicStringgetUploadContentType(){
- returnuploadContentType;
- }
- publicvoidsetUploadContentType(StringuploadContentType){
- this.uploadContentType=uploadContentType;
- }
- publicStringgetUploadFileName(){
- returnuploadFileName;
- }
- publicvoidsetUploadFileName(StringuploadFileName){
- this.uploadFileName=uploadFileName;
- }
- publicStringgetUploadRealName(){
- returnuploadRealName;
- }
- publicvoidsetUploadRealName(StringuploadRealName){
- this.uploadRealName=uploadRealName;
- }
- }
上传Action类:
- packagecom.boxun.hzw.action;
- importjava.io.*;
- importjava.util.ArrayList;
- importjava.util.List;
- importjava.util.UUID;
- importorg.apache.commons.io.FileUtils;
- importorg.apache.struts2.ServletActionContext;
- importcom.boxun.hzw.bean.UploadFiles;
- importcom.opensymphony.xwork2.ActionContext;
- importcom.opensymphony.xwork2.ActionSupport;
- @SuppressWarnings("all")
- publicclassUploadActionextendsActionSupport{
- privatestaticfinallongserialVersionUID=1L;
- privateFile[]upload;
- privateString[]uploadContentType;
- privateString[]uploadFileName;
- privateList<UploadFiles>uploadFiles=newArrayList<UploadFiles>();
- publicStringexecute(){
- StringtargetDirectory=ServletActionContext.getServletContext().getRealPath("/"+"images/");
- for(inti=0;i<upload.length;i++){
- StringfileName=uploadFileName[i];
- Stringtype=uploadContentType[i];
- StringrealName=UUID.randomUUID().toString()+
- getExt(fileName);
- Filetarget=newFile(targetDirectory,realName);
- try{
- FileUtils.copyFile(upload[i],target);
- }catch(IOExceptione){
- e.printStackTrace();
- returnINPUT;
- }
- UploadFilesuf=newUploadFiles();
- uf.setUploadContentType(type);
- uf.setUploadFileName(fileName);
- uf.setUploadRealName(realName);
- uploadFiles.add(uf);
- }
- ServletActionContext.getRequest().setAttribute("uploadFiles",uploadFiles);
- returnSUCCESS;
- }
- publicFile[]getUpload(){
- returnupload;
- }
- publicvoidsetUpload(File[]upload){
- this.upload=upload;
- }
- publicString[]getUploadContentType(){
- returnuploadContentType;
- }
- publicvoidsetUploadContentType(String[]uploadContentType){
- this.uploadContentType=uploadContentType;
- }
- publicString[]getUploadFileName(){
- returnuploadFileName;
- }
- publicvoidsetUploadFileName(String[]uploadFileName){
- this.uploadFileName=uploadFileName;
- }
- publicList<UploadFiles>getUploadFiles(){
- returnuploadFiles;
- }
- publicvoidsetUploadFiles(List<UploadFiles>uploadFiles){
- this.uploadFiles=uploadFiles;
- }
- publicstaticlonggetSerialversionuid(){
- returnserialVersionUID;
- }
- publicstaticStringgetExt(StringfileName){
- returnfileName.substring(fileName.lastIndexOf("."));
- }
- }
下载Action类:
- packagecom.boxun.hzw.action;
- importjava.io.InputStream;
- importjava.io.UnsupportedEncodingException;
- importorg.apache.struts2.ServletActionContext;
- importcom.opensymphony.xwork2.ActionSupport;
- @SuppressWarnings("all")
- publicclassDownloadActionextendsActionSupport{
- privatestaticfinallongserialVersionUID=6329383258366253255L;
- privateStringfileName;
- privateStringfileRealName;
- publicvoidsetFileName(){
- Stringfname=ServletActionContext.getRequest().getParameter("name");
- Stringfrealname=ServletActionContext.getRequest().getParameter("realname");
- try{
- fname=newString(fname.getBytes("ISO-8859-1"),"utf-8");
- frealname=newString(frealname.getBytes("ISO-8859-1"),"utf-8");
- }catch(UnsupportedEncodingExceptione){
- e.printStackTrace();
- }
- this.fileName=fname;
- this.fileRealName=frealname;
- }
- publicStringgetFileName(){
- try{
- fileRealName=newString(fileRealName.getBytes(),"ISO-8859-1");
- }catch(UnsupportedEncodingExceptione){
- e.printStackTrace();
- }
- returnfileRealName;
- }
- publicInputStreamgetDownloadFile(){
- this.setFileName();
- returnServletActionContext.getServletContext().getResourceAsStream("/"+"images/"+fileRealName);
- }
- @Override
- publicStringexecute()throwsException{
- returnSUCCESS;
- }
- }
上传jsp页面:
- <%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%>
- <%
- Stringpath=request.getContextPath();
- StringbasePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
- %>
- <!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
- <html>
- <head>
- <basehref="<%=basePath%>">
- <title>MyJSP'upload.jsp'startingpage</title>
- <metahttp-equiv="pragma"content="no-cache">
- <metahttp-equiv="cache-control"content="no-cache">
- <metahttp-equiv="expires"content="0">
- <metahttp-equiv="keywords"content="keyword1,keyword2,keyword3">
- <metahttp-equiv="description"content="Thisismypage">
- </head>
- <body>
- <formaction="upload.action"method="post"enctype="multipart/form-data">
- <table>
- <tr>
- <td>上传文件</td>
- <td>标题:<inputtype="text"name="uploadFileName"/>
- <inputtype="file"name="upload"/><br/>
- 标题:<inputtype="text"name="uploadFileName"/>
- <inputtype="file"name="upload"/><br/>
- 标题:<inputtype="text"name="uploadFileName"/>
- <inputtype="file"name="upload"/><br/>
- 标题:<inputtype="text"name="uploadFileName"/>
- <inputtype="file"name="upload"/><br/>
- 标题:<inputtype="text"name="uploadFileName"/>
- <inputtype="file"name="upload"/>
- </td>
- </tr>
- <tr>
- <td><inputtype="submit"value="提交"/></td>
- <td><inputtype="reset"value="重置"/></td>
- </tr>
- </table>
- </form>
- </body>
- </html>
下载jsp页面:
- <%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%>
- <%@taglibprefix="c"uri="http://java.sun.com/jsp/jstl/core"%>
- <%
- Stringpath=request.getContextPath();
- StringbasePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
- %>
- <!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
- <html>
- <head>
- <basehref="<%=basePath%>">
- <title>MyJSP'download.jsp'startingpage</title>
- <metahttp-equiv="pragma"content="no-cache">
- <metahttp-equiv="cache-control"content="no-cache">
- <metahttp-equiv="expires"content="0">
- <metahttp-equiv="keywords"content="keyword1,keyword2,keyword3">
- <metahttp-equiv="description"content="Thisismypage">
- </head>
- <body>
- <c:forEachitems="${uploadFiles}"var="files">
- <imgsrc="images/${files.uploadRealName}"mce_src="images/${files.uploadRealName}"alt="ds"width="200px"height="300px"/>
- <ahref="download.action?name=${files.uploadFileName}&realname=${files.uploadRealName}"mce_href="download.action?name=${files.uploadFileName}&realname=${files.uploadRealName}">${files.uploadFileName}</a><br/>
- </c:forEach>
- </body>
- </html>
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
基于struts2 框架的文 件上传 copy 模式 字节流上传 字符流上传
Struts2框架实现文件上传功能
用Struts框架实现单文件上传功能(初学者的入门项目案例),本项目适合课后作业的哦.
struts框架写的文件上传下载系统 注册会员以后 用户可以上传文件到服务器,并查看服务器端所有上传文件、下载...
struts框架-文件上传下载 有研究或探讨的请加群:37424970 或联系本人MSN或邮箱:zhuseahui@yahoo.com.cn
利用struts2框架实现uploadidfy多文件上传,显示进度条上传
Struts框架文件上传下载案例,需要的自取。
基于HT T P 传输协议, 采用Struts2 框架整合Spring 框架技术对Web 中文件的上传下载进 行应用研究. 提出的技术整合方案结合了Struts2 的自身特点, 通过与Str ut1 框架实现模型的分析 比较, 展示了Struts2 在文件上传...
使用struts2框架进行文件的上传并限制文件的大小与类型,使用struts2框架实现文件下载
java struts2实现文件上传进度条显示
这个我自己写的一个struts2框架中实现了多文件上传的一个web工程 希望可以帮助到你们
Struts2文件上传下载和表单重复提交问题
该项目采用的是典型的struts2框架,在此框架之上实现了多文件上传的功能。
用Struts框架实现单文件上传功能(初学者的入门项目案例),本项目适合课后作业的哦.
通过struts2框架实现Struts2文件上传下载以及显示。综合实现数据的利用。
这个项目可将文件上传作为数据源,而且可以将查询的结果作为下载的文件
最近自学java中的框架-struts写了一些小例子,这都是很经典的程序,如果大家瞧得起要下载去看看,顺便给俺找找不足的地方。我的qq 821865130 email qingtian_hechen@163.com 希望大家能多多给我帮助。在此谢谢各位!...
Struts2+hibernate+spring 框架实现文件上传下载功能。
在网络上,对于Java处理文件上传和下载的技术比较多,而Struts作为一款优秀的框架也提供了非常方便的文件上传和下载,而网上的一些例程都非常的不全面,概括来: 1) 文件上传比较多,多文件上传少一点 2) 文件下载很...
基于struts的文件上传下载,可多文件同时上传