`
djlijian
  • 浏览: 29307 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

在struts2中实现文件的上传

阅读更多
1,upload.jsp的简单内容:
  <s:form action="fileUpload" enctype="multipart/form-data">
  <s:textfield name="username" label="username:"></s:textfield><br>
  <s:password name="password" label="password"></s:password><br>
  <s:file name="file" label="File:"></s:file>
  <s:submit></s:submit>
  </s:form>

2,在struts.xml文件中配置action:
<action name="fileUpload" class="com.test.action.user.FileUploadAction">
<result name="success">/uploadResult.jsp</result>
</action>

3,FileUploadAction类的内容:

package com.test.action.user;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

public class FileUploadAction extends ActionSupport {

private String username;
private String password;

private File file;
//表单中传过来的file的名字
private String fileFileName;
//fileName和contentType是struts2中提供好的两个变量,要对应
private String fileContentType;

public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}

public File getFile() {
return file;
}

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

public String getFileFileName() {
return fileFileName;
}

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

public String getFileContentType() {
return fileContentType;
}

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

@Override
public String execute() throws Exception {
//通过File传过来的file对象获取当前文件的输入流
InputStream is = new FileInputStream(file);
//指定上传文件的路径
String path = ServletActionContext.getRequest().getRealPath("/upload");
//产生目的文件、、filenName是struts2注入进来的
File file2 = new File(path,this.getFileFileName());

OutputStream os = new FileOutputStream(file2);
//字节数组作为中间变量,输入流到输出流的转换
byte[] buffer = new byte[400];

int length = 0;

while((length = is.read(buffer)) > 0){
os.write(buffer, 0, length);
}
//最后要关闭输入,输出流
os.close();
is.close();

return SUCCESS;
}
}

4,成功页面:result.jsp如下:
  <body>
username:<s:property value="username"/><br>
password:<s:property value="password"/><br>
file:<s:property value="fileFileName"/>
  </body>


注意喽:
    可能在你的工程下WebRoot下的upload文件夹中经过刷新找不到上传的文件。这是因为你上传的文件到了你的tomcat/webapps下面的工程了。应该在tomcat的server.xml文件下配置:<Context path="/struts2" docBase="D:\WebProject\struts2\WebRoot" reloadable="true"/>
就ok了。经过刷新可以看到你上传的文件了。

个人学习,仅供参考
分享到:
评论

相关推荐

    在Struts 2中实现文件上传

    在 Struts 2 中实现文件上传,首先需要在 JSP 页面创建一个支持多部分数据的表单。例如,在 `FileUpload.jsp` 文件中,表单的 `method` 应设置为 `POST`,`enctype` 应设置为 `multipart/form-data`。此外,使用 `...

    在struts 2中实现文件上传

    在Struts 2中实现文件上传是常见的需求,通常用于用户提交表单时上传图片、文档等数据。下面我们将深入探讨如何在Struts 2中实现这一功能。 首先,你需要在Struts 2项目中引入相关的依赖库。Struts 2的核心库包含了...

    Struts2框架实现文件上传

    在Struts2中实现文件上传,可以帮助开发者处理用户从浏览器端上传的文件,例如图片、文档等。以下是关于Struts2文件上传的详细知识点: 1. **依赖库**: 实现文件上传,首先需要引入Struts2的上传插件,即`struts2...

    struts2文件上传下载源代码

    描述中的链接指向了CSDN博主johnjobs的一篇文章,这篇文章详细解释了如何在Struts2中实现文件上传。博主可能讨论了以下关键点: 1. **配置Struts2 Action**:在`struts.xml`配置文件中,你需要定义一个Action,该...

    struts2实现的文件上传

    在Struts2中实现文件上传功能是常见的需求,这通常涉及到用户通过Web界面提交文件,然后服务器端处理并存储这些文件。以下将详细介绍如何使用Struts2来实现文件上传。 首先,我们需要在Struts2的配置文件(如struts...

    Struts2中实现文件上传

    在Struts2中实现文件上传是一项常见的任务,这通常涉及到处理用户通过表单提交的文件,例如图片、文档或其他类型的数据。这个过程涉及到多个步骤和技术,包括前端HTML表单的构造、后端Struts2的配置以及文件存储策略...

    struts2文件上传下载

    在Struts2中实现文件上传,需要创建一个继承自`ActionSupport`的Action类。在这个类中,需要定义用于接收上传文件的私有成员变量,并为它们提供对应的getter和setter方法。例如,在`UploadAction`中,定义了`List...

    Struts2中实现文件上传功能文档

    下面我们将详细讨论如何在Struts2中实现文件上传,并且特别关注Word2007文档(.docx)的上传。 首先,为了创建一个可以上传文件的表单,我们需要在HTML或JSP页面上使用Struts2的标签库。以下是一个简单的示例: ``...

    struts2+ajax文件进度条的实现

    在Struts2中实现文件上传功能,通常会涉及到处理大文件、用户体验优化等问题,如显示文件上传进度条。这个场景下,我们结合Ajax技术,可以创建一个实时反馈文件上传进度的动态界面,提升用户交互体验。 首先,我们...

    简单易懂的struts2文件上传

    本教程将深入浅出地讲解如何在Struts2中实现文件上传,并提供一个简单的实例来帮助理解。 1. **Struts2文件上传概述** 在Struts2中,文件上传主要依赖于Apache的Commons FileUpload库。这个库提供了处理HTTP多部分...

    Struts2+上传文件源码

    在Struts2中实现文件上传功能是一项常见的需求,尤其在处理用户提交的表单数据时,例如用户上传个人照片、文档等。这个"Struts2+上传文件源码"是一个演示如何在Struts2框架下实现文件上传的示例代码。 首先,我们来...

    struts2实现文件上传下载

    Struts2是一个强大的MVC(模型-视图-控制器)框架,广泛应用于Java ...以上就是使用Struts2框架实现文件上传下载的基本步骤和关键知识点。在实际开发中,可以根据项目需求进行调整和优化,确保功能的稳定性和安全性。

    Struts2文件上传

    在Struts2中实现文件上传是常见的需求,比如上传头像或文档。本篇文章将详细讲解如何利用Struts2框架来实现头像上传功能。 首先,我们需要在Struts2配置文件(struts.xml)中添加相关的action配置,以便处理文件...

    struts2上传文件进度条显示

    在Struts2中实现文件上传并展示进度条是一项常见的需求,它能提升用户体验,尤其是在处理大文件时。以下将详细解释如何在Struts2中实现这一功能。 首先,我们需要在Struts2配置中开启文件上传的支持。在`struts.xml...

    Struts2实现文件上传

    在Struts2中实现文件上传是一项常见的需求,这通常涉及到处理用户通过表单提交的文件。下面将详细介绍如何在Struts2框架下实现文件上传功能。 首先,我们需要在Struts2的配置文件(struts.xml)中进行相应的配置。...

    struts2 文件上传 测试通过版

    本文将详细讲解如何在Struts2中实现文件上传功能,并探讨相关知识点。 1. **Struts2 Action类配置**: 在Struts2中,我们需要创建一个Action类来处理用户请求。文件上传时,Action类通常会包含一个或多个`java.io....

    struts2实现文件上传

    在Struts2中实现文件上传是一项常见的需求,这通常涉及到客户端浏览器与服务器之间的数据交互,以及服务器端对上传文件的处理。下面我们将深入探讨如何在Struts2框架下实现文件上传。 首先,我们需要在HTML表单中...

Global site tag (gtag.js) - Google Analytics