`

Struts2上传文件示例

 
阅读更多

Struts2上传文件示例  

Struts2上传文件示例 - leeldy - leeldy的个人居窝~~~


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>

 

Struts2上传文件示例 - leeldy - leeldy的个人居窝~~~Struts2上传文件示例 - leeldy - leeldy的个人居窝~~~

分享到:
评论

相关推荐

    struts2文件上传的一个简单的例子

    本示例将详细介绍如何在Struts2框架下实现一个简单的文件上传功能。 首先,我们需要理解Struts2文件上传的基本原理。Struts2提供了一个名为`FileUpload interceptor`的拦截器,用于处理文件上传请求。这个拦截器会...

    完整struts2文件上传示例

    以下是对"完整Struts2文件上传示例"的详细解释: 1. **配置Struts2框架** 在Struts2中,我们首先需要在`struts.xml`配置文件中添加相关的拦截器(interceptor)来处理文件上传。`struts.multipart.parser`属性应...

    struts文件上传示例

    在这个"Struts文件上传示例"中,我们将深入探讨如何在Struts框架下实现文件上传功能,以及相关的关键知识点。 首先,理解文件上传的基本流程至关重要。在Web应用中,用户通过表单选择本地文件,然后提交到服务器。...

    Struts2文件上传程序示例

    在上述配置中,我们限制了上传文件的类型和大小,并指定了成功和失败后的跳转页面。 在用户界面,我们通常会显示上传进度、错误信息或上传结果。在`success.jsp`和`upload.jsp`页面中,我们可以根据Action返回的...

    struts2上传文件源代码

    在这个“struts2上传文件源代码”中,我们将深入探讨Struts2如何实现文件上传功能,以及涉及到的相关知识点。 首先,文件上传是Web应用中常见的功能,它允许用户从本地计算机选择文件并将其发送到服务器。在Struts2...

    Struts2 上传图片示例

    -- 设置最大上传文件大小 --&gt; &lt;result name="success"&gt;/success.jsp &lt;result name="input"&gt;/FileUpload.jsp ``` 5. **处理文件保存**: 在`execute()`方法中,你需要实现文件的保存逻辑。这通常包括创建目标...

    struts2文件上传下载源代码

    文件上传功能允许用户从他们的设备上传文件到服务器。在Struts2中,这通常通过表单实现,表单包含一个`&lt;input type="file"&gt;`元素,用户可以选择本地文件。Struts2的Action类会接收这个文件,并使用`Commons ...

    Struts2文件上传示例

    例如,在`success.jsp`中,我们可以显示上传文件的名称和类型。 通过这个Struts2文件上传示例,我们可以了解到文件上传的基本流程,包括前端表单设计、后台Action处理以及Struts2配置。在实际开发中,我们还可以...

    Struts2多个文件上传

    Struts2是一个流行的Java web开发框架,用于构建企业级应用...无论是使用List集合还是数组,核心原理都是相同的,只是接收上传文件的对象类型不同。了解并掌握这一特性,对于开发支持文件上传功能的web应用至关重要。

    JavaEE Struts文件上传

    Struts框架通过解析这个格式化的请求,可以获取到上传文件的信息。 1. **配置Struts2 Action**:在Struts2中,我们需要创建一个Action类来处理文件上传请求。这个类通常需要实现`ServletRequestAware`接口,以便...

    struts2文件上传

    默认情况下,这个拦截器可能会限制上传文件的类型为`.txt`,并且大小不超过10MB。这种限制是为了防止恶意用户上传大文件或者非文本文件,从而可能对服务器造成压力或引入安全风险。 配置文件`struts.xml`中关于文件...

    struts2 上传文件及打包下载zip

    在这个"struts2 上传文件及打包下载zip"的示例中,我们将探讨如何利用Struts2实现文件上传和下载功能。 首先,文件上传是Web应用程序中的常见需求。在Struts2中,我们可以使用`Struts2`提供的`CommonsFileUpload`...

    struts2 上传 示例

    在这个"struts2 上传 示例"中,可能还包括了对上传文件的一些验证和处理逻辑,比如限制文件类型、大小,以及展示上传结果等。你可以通过解压`Upload`文件,查看源代码和相关的资源文件来进一步学习和理解Struts2的...

    struts2+jquery+ajax文件异步上传

    在Struts2的配置文件中,我们可以定义这些规则,例如限制上传文件的大小,只接受特定类型的文件(如图片、文档等)。此外,我们还需要关注安全问题,防止恶意文件上传。 文件上传的实现通常包括以下几个步骤: 1. ...

    Struts2+上传文件源码

    这个"Struts2+上传文件源码"是一个演示如何在Struts2框架下实现文件上传的示例代码。 首先,我们来理解上传文件的基本流程。在Struts2中,文件上传是通过`Commons FileUpload`库来处理的,这是一个Apache提供的开源...

    struts2 上传文件超过最大值解决办法

    在Struts2框架中,处理文件上传是一项常见且重要的功能,尤其当涉及到大文件上传时,往往会遇到上传文件大小超过预设限制的问题。这不仅影响用户体验,还可能导致应用程序出现异常或错误。本文将深入探讨如何解决...

    struts2文件上传下载示例

    - 验证上传文件的类型和大小,防止恶意文件上传。 - 存储文件时,不要使用用户提供的文件名,以防路径遍历攻击。 - 对于下载,设置合适的Content-Type和Content-Disposition,确保浏览器正确处理文件。 以上就是...

    struts2.1.3上传文件

    在"struts2.1.3上传文件"这个主题中,我们将深入探讨Struts2如何实现文件上传功能,以及与之相关的jsp(JavaServer Pages)技术。 文件上传是Web应用程序中常见的需求,例如用户可能需要上传照片、文档或其他类型的...

    struts2中的文件上传和下载示例

    Struts2是一个强大的Java web框架,它为开发者提供了丰富的功能,包括文件上传和下载。在Struts2中处理文件上传和下载是常见的需求,对于构建交互式的Web应用来说至关重要。以下将详细介绍Struts2中如何实现这两个...

Global site tag (gtag.js) - Google Analytics