`
PanShuiHua
  • 浏览: 31366 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
最近访客 更多访客>>
社区版块
存档分类
最新评论

Struts1上传文件

阅读更多

//上传界面的代码:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<html:html>
 <head>
  <title>Struts上传文件</title>
 </head>
 <body>
  <!-- 这里需要注意的是method一定要设成post,还要设置enctype为multipart/form-data-->
  <html:form action="upload" enctype="multipart/form-data" method="post">
   <table>
    <tr>
     <td>
      <div>
       <html:file property="file" size="30"></html:file>
      </div>
     </td>
    </tr>
    <tr>
     <td>
      <div>
       <html:submit property="upload" value="上传"></html:submit>
      </div>
     </td>
    </tr>
   </table>
  </html:form>
 </body>
</html:html>

 

//然后是页面对应的ActionForm
package forms;

import org.apache.struts.action.ActionForm;
import org.apache.struts.upload.FormFile;

public class UploadForm extends ActionForm {
 private String filename;
 private FormFile file;
 public FormFile getFile() {
  return file;
 }
 public void setFile(FormFile file) {
  this.file = file;
 }
 public String getFilename() {
  return filename;
 }
 public void setFilename(String filename) {
  this.filename = filename;
 }
 
}


//处理业务的Action

package actions;

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

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.upload.FormFile;

import forms.UploadForm;

public class UploadAction extends Action {
 @Override
 public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest req, HttpServletResponse res) throws Exception {
  UploadForm uf=(UploadForm)form;
  String filename=uf.getFilename();
  FormFile file=uf.getFile();
  if(file!=null){
   System.out.println("我叫"+file.getFileName());
  }
  //这里需要注意的是request.getRealPath();已经废弃,可以通过
                //下面的方法来替代
  String path=req.getSession().getServletContext().getRealPath("/");
  InputStream in=file.getInputStream();
  OutputStream out=new FileOutputStream(path+"/upload/"+file.getFileName());
  int read=0;
  byte[] buffer=new byte[1024];
  while((read=in.read(buffer,0,1024))!=-1){
   out.write(buffer, 0, read);
  }
  in.close();
  out.close();
  return mapping.findForward("uploadsuc");
 }
}


//Struts-config.xml的配置
 <form-beans>
  <form-bean name="uploadform" type="forms.UploadForm"></form-bean>
 </form-beans>
 <action path="/upload"
  type="actions.UploadAction"
  name="uploadform"
  input="/test/upload.jsp"
  scope="request"
  >
   <forward name="uploadsuc" path="/test/uploadsuc.jsp"/>
 </action>

分享到:
评论

相关推荐

    struts1实现文件上传

    ### Struts1 实现文件上传的关键技术点 在Struts1框架中实现文件上传功能是一项常见但又具有一定技术挑战的任务。下面将详细解析文件上传的实现过程,包括关键类的使用、文件处理逻辑以及异常处理等方面。 #### ...

    Struts1实现文件上传源码

    然后,使用Struts1的`html:form`标签来封装表单,并指定`enctype="multipart/form-data"`,以支持文件上传: ```jsp 上传" /&gt; ``` 5. **异常处理**:在实际应用中,文件上传可能会遇到各种问题,如文件...

    struts1 实现文件上传下载

    以上是使用Struts1实现文件上传下载的基本流程和关键点。实际开发中,你可能还需要考虑其他因素,如用户界面的优化、错误处理、性能优化等,确保整个过程既安全又高效。在实际操作中,务必参照具体项目的配置和需求...

    struts1上传文件带进度条

    在Struts1中实现文件上传功能,常常是Web开发中的一个常见需求。而“带进度条”的文件上传则更进一步,它能为用户提供更好的用户体验,让用户在上传大文件时能够看到实时的上传进度。 首先,我们来理解一下Struts1...

    struts1上传文件(commons-fileupload)

    10. **使用Struts1提供的额外支持** Struts1提供了一些额外的标签库,如`&lt;html:file&gt;`标签,可以帮助简化文件上传表单的创建和处理。 以上就是Struts1结合Apache Commons FileUpload实现文件上传的关键步骤和知识...

    struts1 文件上传 文件下载

    下面将详细介绍如何使用Struts1实现文件上传和下载,以及涉及到的关键知识点。 **一、文件上传** 1. **表单配置**:在HTML表单中,我们需要使用`&lt;input type="file"&gt;`标签让用户选择要上传的文件。同时,表单需要...

    Struts1实现的文件上传

    在这个“Struts1实现的文件上传”项目中,我们将深入探讨如何在Struts1框架下实现文件上传功能,并不涉及文件下载的部分。 首先,理解文件上传的基本流程是至关重要的。在Web应用中,用户通过HTML表单选择本地文件...

    struts1实现的文件批量上传

    在本文中,我们将探讨如何使用Struts1框架实现文件的批量上传功能。Struts1是一个经典的Java Web应用程序框架,它提供了模型-视图-控制器(MVC)架构,用于构建动态Web应用。在Struts1中实现文件上传,我们需要考虑...

    用struts1实现文件的上传和下载

    在这个项目中,我们将探讨如何利用Struts1来实现文件的上传和下载功能。 首先,我们需要理解文件上传的基本流程。在Web应用中,用户通过表单提交包含文件的POST请求到服务器。Struts1框架接收到这个请求后,会使用`...

    struts1实现文件上传和下载

    在Struts1中,实现文件上传和下载功能是常见的需求,这对于处理用户提交的文件,如图片、文档等,至关重要。下面将详细解释如何在Struts1中实现这两个操作。 首先,我们关注文件上传。在Struts1中,文件上传主要...

    struts2实现文件上传下载

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

    struts实现的文件上传下载功能

    在这个特定的场景中,我们关注的是如何使用Struts来实现文件的上传和下载功能。这个功能对于任何Web应用来说都是非常重要的,因为它允许用户交互地处理数据和资源。 首先,我们需要理解文件上传的基本流程。在...

    一个Struts1多文件上传实例(附Form中传List示例)

    本实例主要探讨如何在Struts1中实现多文件上传功能,并结合Form中传递List类型的数据,这对于理解MVC模式下的文件处理和数据传递有重要作用。我们将深入讨论以下几个关键知识点: 1. **Struts1框架基础**: Struts...

    JavaEE Struts文件上传

    1. **配置Struts2 Action**:在Struts2中,我们需要创建一个Action类来处理文件上传请求。这个类通常需要实现`ServletRequestAware`接口,以便可以直接访问HttpServletRequest对象,从中获取上传文件。 2. **添加...

    struts 单文件上传和多文件上传带进度条

    在Struts中,可以实现单文件和多文件的上传,并且为了提升用户体验,我们还可以添加进度条来显示文件上传的状态。本文将详细介绍如何在Struts中实现这两个功能,并带上传进度条。 首先,我们需要了解Struts中处理...

    struts2实现文件下载功能

    通过以上步骤,我们可以使用Struts2框架实现一个完整的文件下载功能。在`FileDownloadDemo`项目中,你应该能看到这些组件的实现。这个示例项目可以帮助你更好地理解和实践Struts2的文件下载功能,进一步提升你在Web...

    struts与hibernate实现文件的上传与动态下载

    本篇文章将详细讲解如何利用Struts2.2和Hibernate3.6实现文件的上传与动态下载。 **一、文件上传** 1. **环境配置**:首先,你需要一个集成开发环境,例如MyEclipse8.6,并安装所需的Struts2.21、JUnit4.8.2以及...

    struts1和struts2分别实现文件上传下载功能

    另一种常见方法是使用Struts2的StreamResult,它允许你直接从Action返回文件输入流,框架会自动处理响应的设置和流的传输。 在实际开发中,为了安全和性能考虑,你可能需要处理一些额外的问题,如文件大小限制、...

    struts2 实现文件批量上传

    本项目实现了使用Struts2进行文件批量上传的功能,这涉及到几个关键的技术点,包括文件上传组件的选择、前端表单设计、后端处理逻辑以及存储策略。 1. **文件上传组件**:在Struts2中,我们通常使用`Commons ...

    struts1的文件上传

    在实现文件上传时,还需要注意安全问题,比如防止恶意文件上传(如脚本文件)、限制文件大小和类型、防止路径遍历攻击等。在处理文件上传时,应该对上传的文件进行验证和过滤,确保服务器的安全。 综上所述,...

Global site tag (gtag.js) - Google Analytics