`
ztfjava
  • 浏览: 72678 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Struts 上传功能实现

    博客分类:
  • Java
阅读更多
Struts2上传文件示例

源代码:

1.包如下:请自行下载
     础上添加 commouns_fileupload-1.2.jar

2.Action类


package com.sterning;

import java.io.File;

import javax.servlet.ServletContext;

import org.apache.commons.io.FileUtils;
import org.apache.struts2.util.ServletContextAware;

import com.opensymphony.xwork2.ActionSupport;

public class StrutsFileUpload extends ActionSupport implements
        ServletContextAware {

    private File upload;// 实际上传文件

    private String uploadContentType; // 文件的内容类型

    private String uploadFileName; // 上传文件名

    private String fileCaption;// 上传文件时的备注

    private ServletContext context;

    public String execute() throws Exception {

        try {
           
            String targetDirectory = context.getRealPath("/upload");
            String targetFileName = uploadFileName;
            File target = new File(targetDirectory, targetFileName);
            FileUtils.copyFile(upload, target);           
           
            setUploadFileName(target.getPath());//保存文件的存放路径
        } catch (Exception e) {

            addActionError(e.getMessage());

            return INPUT;
        }

        return SUCCESS;

    }

    public String getFileCaption() {
        return fileCaption;
    }

    public void setFileCaption(String fileCaption) {
        this.fileCaption = fileCaption;
    }

    public File getUpload() {
        return upload;
    }

    public void setUpload(File upload) {
        this.upload = upload;
    }

    public String getUploadContentType() {
        return uploadContentType;
    }

    public void setUploadContentType(String uploadContentType) {
        this.uploadContentType = uploadContentType;
    }

    public String getUploadFileName() {
        return uploadFileName;
    }

    public void setUploadFileName(String uploadFileName) {
        this.uploadFileName = uploadFileName;
    }

    public void setServletContext(ServletContext context) {
        this.context = context;
    }

}

3.页面

上传页面:upload.jsp

<%@ page language="java" contentType="text/html; charset=GB2312"%>  
<%@ taglib prefix="s" uri="/struts-tags" %>  
<html>
    <head>
        <title>文件上传示例</title>
        <link href="<s:url value="/css/main.css"/>" rel="stylesheet"
            type="text/css" />

    </head>

    <body>

        <s:actionerror />
        <s:fielderror />
        <s:form action="doUpload" method="POST" enctype="multipart/form-data">
            <tr>
                <td colspan="2">
                    <h1>
                        文件上传示例
                    </h1>
                </td>
            </tr>

            <s:file name="upload" label="上传的文件" />
            <s:textfield name="fileCaption" label="备注" />
            <s:submit value="上   传"/>
        </s:form>
    </body>
</html>

上传成功页面:upload_success.jsp

<%@ page language="java" contentType="text/html; charset=GB2312"%> 
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
    <head>
        <title>上传成功</title>
        <link href="<s:url value="/css/main.css"/>" rel="stylesheet"
            type="text/css" />
    </head>

    <body>
        <table class="wwFormTable">
            <tr>

                <td colspan="2">
                    <h1>
                        上传成功
                    </h1>
                </td>
            </tr>

            <tr>
                <td class="tdLabel">
                    <label for="doUpload_upload" class="label">
                        内容类型:
                    </label>
                </td>
                <td>
                    <s:property value="uploadContentType" />
                </td>
            </tr>

            <tr>
                <td class="tdLabel">
                    <label for="doUpload_upload" class="label">
                        文件路径:
                    </label>
                </td>
                <td>
                    <s:property value="uploadFileName" />
                </td>
            </tr>


            <tr>
                <td class="tdLabel">
                    <label for="doUpload_upload" class="label">
                        临时文件:
                    </label>
                </td>
                <td>
                    <s:property value="upload" />
                </td>
            </tr>

            <tr>
                <td class="tdLabel">
                    <label for="doUpload_upload" class="label">
                        备注:
                    </label>
                </td>
                <td>
                    <s:property value="fileCaption" />
                </td>
            </tr>


        </table>

    </body>
</html>

4.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.devMode" value="true" />
    <constant name="struts.i18n.encoding" value="GB2312" />

    <package name="NG" namespace="/" extends="struts-default">
        <action name="showUpload">
            <result>/upload.jsp</result>
        </action>
       
        <action name="doUpload" class="com.sterning.StrutsFileUpload">
            <result name="input">/upload.jsp</result>
            <result>/upload_success.jsp</result>
        </action>
    </package>

</struts>


5.web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4"
    xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

    <display-name>customization</display-name>

    <filter>
        <filter-name>struts-cleanup</filter-name>
        <filter-class>
            org.apache.struts2.dispatcher.ActionContextCleanUp
        </filter-class>
    </filter> 


    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>
            org.apache.struts2.dispatcher.FilterDispatcher
        </filter-class>
    </filter>


    <filter-mapping>
        <filter-name>struts-cleanup</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>


    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

</web-app>




分享到:
评论

相关推荐

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

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

    Struts+swfupload实现文件上传功能

    Struts和SwfUpload是两种在Web开发中用于构建强大功能的应用工具,它们结合使用可以实现高效的文件上传功能。在本文中,我们将深入探讨这两个组件以及如何将它们整合以实现文件上传。 首先,Struts是一个基于MVC...

    Struts上传文件实现代码

    在Struts2中,实现文件上传功能是常见的需求,尤其是在处理用户提交的表单时,如上传图片、文档等。本篇文章将深入探讨如何在Struts2框架下实现文件上传的代码实践。 首先,我们需要在Struts2的配置文件(struts....

    基于struts上传头像功能

    在本项目"基于Struts上传头像功能"中,我们关注的核心是利用Struts实现用户头像的上传,并在上传后能够实时更新显示。这个功能对于社交网络、论坛等用户交互性强的网站尤为重要,因为它允许用户个性化自己的在线形象...

    struts实现上传图片

    本文将深入探讨如何使用Struts框架实现图片上传功能,这在许多Web应用中都是一个常见且重要的需求。 ### Struts框架简介 Struts是一个开源的框架,用于创建企业级的Java Web应用。它基于Servlet和JSP技术,并遵循...

    Struts2实现文件上传功能

    下面将详细阐述如何使用Struts2来实现文件上传功能。 1. **Struts2文件上传组件** Struts2框架集成了一个名为`struts2-convention-plugin`的插件,它提供了文件上传的支持。主要依赖于`Commons FileUpload`和`...

    struts实现文件上传功能

    在Struts中实现文件上传功能,是一项常见的需求,尤其在处理用户提交的各种文件,如图片、文档等时。这个功能可以帮助开发者将用户选择的文件从客户端传输到服务器端进行存储或者处理。 一、Struts2文件上传的基本...

    ssh框架用struts2 hibernate实现图片的上传源码

    以上就是SSH框架中使用Struts2和Hibernate实现图片上传的主要知识点,涵盖了Web请求处理、ORM框架、文件上传、数据库操作以及前端交互等多个方面。实际项目开发时,还需要结合具体的业务需求和安全规范进行详细设计...

    struts2实现上传

    在Struts2中实现文件上传功能是一项常见的任务,这通常涉及到对用户提交的文件进行验证,如限制文件类型、大小,并处理多文件上传的情况。 首先,我们需要在`struts.xml`配置文件中定义一个Action,这个Action将...

    struts 文件上传 Struts实现文件上传

    创建一个HTML表单,使用`enctype="multipart/form-data"`属性启用文件上传功能: ```html 上传" /&gt; ``` ### 6. Action 类 在Action类中,你需要处理文件上传的逻辑。获取`FormFile`对象并保存或处理文件: ...

    struts2实现文件上传下载

    本篇文章将详细探讨如何在Struts2框架下实现文件的上传与下载。 首先,我们需要了解Struts2中的文件上传机制。Struts2提供了`FileUploadInterceptor`拦截器来处理文件上传请求。在处理文件上传时,开发者需要在...

    Struts2实现上传功能源码

    总的来说,Struts2的文件上传功能是通过整合HTTP的文件上传机制和自身的MVC框架来实现的。通过理解并实践这些步骤,开发者可以轻松地在Java Web应用中集成文件上传功能。同时,Struts2还提供了其他高级特性,如拦截...

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

    首先,让我们了解一下Struts1中的文件上传功能。Struts1使用了`commons-fileupload`库来处理文件上传。你需要在ActionForm中定义一个`File`类型的属性,这个属性对应用户在表单中选择的文件。在配置文件中,你需要...

    struts 上传 和 smartupload上传

    **Struts上传** Struts是Apache软件基金会下的一个开源项目,它是一个基于MVC(Model-View-Controller)设计模式的Java Web框架。在Struts 1.x版本中,处理文件上传主要依赖于`org.apache.struts.upload.FormFile`...

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

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

    使用struts2实现的文件上传功能

    在Struts2框架中实现文件上传功能是一项常见的任务,这通常涉及到用户通过表单提交文件,服务器端接收并处理这些文件。在这个场景中,我们将探讨如何使用Struts2来实现这一功能。 首先,你需要在项目中引入Struts2...

    struts2实现多文件上传功能

    在实际项目中,文件上传功能是常见的需求,比如用户上传个人头像、提交附件等。Struts2提供了完善的文件上传支持,让我们来详细探讨如何在Struts2中实现多文件上传。 首先,我们需要在Struts2的配置文件(struts....

    struts1实现图片上传

    在这个"struts1实现图片上传"的实践中,我们将深入探讨如何使用Struts1来处理图片上传功能,包括图片预览。 首先,我们需要在Struts1的配置文件`struts-config.xml`中定义一个Action,这个Action将处理图片上传的...

    struts1实现文件上传

    综上所述,Struts1中的文件上传功能实现涉及到多个核心组件和技术点的综合运用。开发者需要对Struts1框架有深入的理解,并熟练掌握相关API的使用方法。此外,在实际开发过程中还需要注意安全性问题,比如防止恶意...

    Struts1.2 formfile实现批量上传

    在Struts1.2框架中,FormFile是用于处理文件上传的一个关键组件,尤其是在实现批量上传功能时。本文将深入探讨如何使用FormFile在Struts1.2中实现实现批量文件上传,以及相关的技术要点。 一、Struts1.2简介 Struts...

Global site tag (gtag.js) - Google Analytics