`

struts2上传文件(commons-fileupload-1.2.1)

阅读更多

struts版本为struts-2.1.8.1

 

项目名为 struts2

 

从路径 struts-2.1.8.1\lib 下将 struts2-core-2.1.8.1.jar,xwork-core-2.1.6.jar,commons-fileupload-1.2.1.jar,commons-io-1.3.2.jar 复制到 WEB-INF/lib 目录下

 

配置struts.xml文件

 

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
	<constant name="struts.action.extension" value="do,action"></constant>
	<!-- 设置文件上传大小限制10M -->
	<constant name="struts.multipart.maxSize" value="10701096"></constant>
	<package name="fileupload" namespace="/fileupload" extends="struts-default">
		<action name="upload" class="com.cool.fileupload.FileUploadAction" method="execute">
			<result name="success">/WEB-INF/page/message.jsp</result>
		</action>
	</package>
</struts>
 

 

创建第一个页面 fileupload.jsp (用于上传文件)

 

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>Fileupload Page</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
  </head>
  <body>
    <form action="${pageContext.request.contextPath}/fileupload/upload.action" enctype="multipart/form-data" method="post">
    	文件:<input type="file" name="image" />
    	<input  type="submit" value="上传"/>
    </form>
  </body>
</html>

 

创建第二个页面 /page/message.jsp (用于显示返回信息)

 

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>Message Page</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
  </head>
  <body>
    ${message }
  </body>
</html>
 

创建处理文件上传的Action

 

package com.cool.fileupload;

import java.io.File;
import org.apache.commons.io.FileUtils;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionContext;

public class FileUploadAction {
	private File image;
	
	private String imageFileName;

	public File getImage() {
		return image;
	}

	public void setImage(File image) {
		this.image = image;
	}

	public String getImageFileName() {
		return imageFileName;
	}

	public void setImageFileName(String imageFileName) {
		this.imageFileName = imageFileName;
	}
	
	public String execute() throws Exception{
		String realPath = ServletActionContext.getServletContext().getRealPath("/image");
		if(this.image!=null){
			File saveFile = new File(new File(realPath), this.imageFileName);
			if(!saveFile.getParentFile().exists())	saveFile.getParentFile().mkdirs();
			FileUtils.copyFile(image, saveFile);
		}
		ActionContext.getContext().put("message","上传成功");
		return "success";
	}
}

访问路径为 http://localhost:8080/struts2/fileupload.jsp (struts2为项目名)

选择文件,然后单击上传按钮,画面跳转到 /page/message.jsp,显示【上传成功】

然后到发布路径下看文件是否真正上传 F:\Tomcat\webapps\struts2\image ( F:\Tomcat 为本机Tomcat路径 )

测试成功。

关于多文件上传如下,只需将image和imageFileName定义成数组型即可

private File[] image;	

private String[] imageFileName;    


以上

分享到:
评论

相关推荐

    struts2上传文件需要的jar包 commons-fileupload-1.2.1.jar和commons-io-1.3.2.jar

    以上就是关于Struts2文件上传功能的简要介绍,以及`commons-fileupload`和`commons-io`库在其中的关键作用。这两个库极大地简化了Java web应用中的文件上传操作,使得开发者可以专注于业务逻辑,而无需关心底层的...

    struts2文件上传组件commons-fileupload-1.2.1.jar

    总的来说,`commons-fileupload-1.2.1.jar`和`commons-io-1.4.jar`是Struts2实现文件上传功能不可或缺的组成部分,它们提供了完善的文件上传处理机制,使得开发者可以专注于业务逻辑,而无需关注底层的文件传输细节...

    commons-fileupload-1.2.1.jar和commons-io-1.4.jar

    总之,`commons-fileupload-1.2.1.jar`和`commons-io-1.4.jar`在Struts2框架中扮演了重要的角色,为开发者提供了便捷且安全的文件上传功能。通过合理使用这两个库,我们可以构建出高效、稳定的文件上传系统。

    commons-fileupload-1.2.1帮助文档

    《Java Web文件上传:commons-fileupload-1.2.1详解》 在Java Web开发中,文件上传是一项常见的功能,用户可能需要上传图片、文档等各类文件。Apache Commons FileUpload库是一个强大的工具,用于处理HTTP协议中的...

    commons-fileupload-1.2.1-bin.zip

    6. **与其他框架的集成**:Apache Commons FileUpload可方便地与Struts、Spring MVC等Web框架结合,提供优雅的文件上传解决方案。 总之,Apache Commons FileUpload 1.2.1是一个强大的文件上传组件,它简化了在Java...

    commons-fileupload-1.2.1.jar

    `commons-fileupload-1.2.1.jar` 是一个Java库,主要专注于处理HTTP协议中的文件上传功能。这个库是Apache Commons项目的一部分,由Apache软件基金会开发和维护,旨在简化在Java应用程序中处理用户通过表单提交的...

    struts,springMVC 上传文件需要的jar包 commons-fileupload-1.2.1.jar和commons-io-1.3.2.jar

    总的来说,`commons-fileupload-1.2.1.jar`和`commons-io-1.3.2.jar`这两个库在Struts和Spring MVC中扮演着关键角色,使得处理文件上传变得更加便捷和可靠。开发者可以通过这些库提供的API轻松实现文件上传功能,...

    commons-fileupload-1.2.1.zip

    在压缩包内,"commons-fileupload-1.2.1.jar"是核心的库文件,包含了所有实现文件上传功能的类和方法。将这个JAR文件添加到项目的类路径中,就可以开始使用FileUpload的功能。 使用Commons FileUpload时,首先需要...

    commons-fileupload-1.2.1-bin 和 commons-io-1.4-bin.zip

    标题中的"commons-fileupload-1.2.1-bin"和"commons-io-1.4-bin.zip"分别指的是Apache Commons FileUpload 1.2.1版本和Apache Commons IO 1.4版本的二进制包。这两个组件在Java开发中扮演着重要的角色,尤其在处理...

    使用commons-fileupload-1.2.1实现文件上传操作

    1. **添加依赖**:在项目中引入`commons-fileupload-1.2.1.jar`和`commons-io-2.x.jar`(因为FileUpload依赖于Commons IO库)。在Eclipse中,你可以将这两个JAR文件添加到项目的类路径中,以便编译和运行。 2. **...

    struts2 的类库 commons-fileupload-1.2.1 文档

    Struts2是一个流行的Java web应用程序框架,...总之,`commons-fileupload-1.2.1`是Struts2中处理文件上传的核心库,其Javadoc文档为开发者提供了详尽的API指南,使得在Java web应用中实现安全高效的文件上传成为可能。

    commons-fileupload-1.2.1.jar commons-io-1.4.jar 上传包

    总之,`commons-fileupload-1.2.1.jar`和`commons-io-1.4.jar`是实现Struts2文件上传的核心库,它们提供了文件上传的基本操作,而Struts2框架则通过其Action、配置文件和标签库实现了上传功能的集成。了解并熟练掌握...

    commons-fileupload-1.2.2.jar

    关于压缩包子文件"commons-fileupload-1.2.1.jar"的出现,可能是由于历史版本的保留或者是一个错误,因为标题中提及的是1.2.2版本。在实际开发中,应该确保使用最新或与项目兼容的版本,避免因版本不匹配引发的问题...

    commons-fileupload-1.2.1.jar commons-io-1.4.jar

    Struts2本身没有自带的两个jar 如果不导入的话会有Unable to load bean org.apache.struts2.dispatcher.multipart.MultiPartRequest (jakarta) - [unknown location]异常

    struts2-extended-jars

    struts2-core-2.1.8.jar; struts2-core-2.2.1.jar; struts-json-plugin-2.1.8.jar;... commons-fileupload-1.2.1.jar; commons-email-1.2.jar; commons-collections-3.1.zip; mysql-connector-java-5.1.6-bin.jar.

    struts文件上传JAR包(upload)

    1. `commons-fileupload-1.2.1.jar`:这是核心的文件上传库,提供了处理多部分数据和文件上传的类和接口。 2. `jakarta/commons-fileupload-1.2.1-sources.jar`:源代码包,开发者可以查看源码来理解其内部工作原理...

    SSH等jar包

    │ commons-fileupload-1.2.1.jar │ commons-logging-1.0.4.jar │ commons-logging.jar │ commons-pool.jar │ dom4j-1.6.1.jar │ freemarker-2.3.15.jar │ freemarker.jar │ hibernate-tools.jar │ ...

    struts-json.jar

    commons-beanutils-1.8.3.jar, commons-collections-3.2.1.jar, commons-fileupload-1.2.1.jar, commons-io-1.3.2.jar, commons-lang-2.5.jar, commons-logging-1.1.1.jar, ezmorph-1.0.6.jar, freemarker-2.3.15....

Global site tag (gtag.js) - Google Analytics