Struts2实现简单上传

web.xml

<? xml version="1.0" encoding="UTF-8" ?>
< web-app  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"
>
  
< filter >
        
< filter-name > struts2 </ filter-name >
        
< filter-class > org.apache.struts2.dispatcher.FilterDispatcher </ filter-class >
    
</ filter >
    
    
< filter-mapping >
        
< filter-name > struts2 </ filter-name >
        
< url-pattern > /* </ url-pattern >
    
</ filter-mapping >
</ web-app >

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 >
    
< package  name ="struts2"  extends ="struts-default" >
        
< action  name ="upload"  class ="com.xie.struts.upload.UploadAction" >
            
< result  name ="success" > /upload/result.jsp </ result >
        
</ action >
    
</ package >
</ struts >

 

upload.jsp

<% @ page language="java" contentType="text/html; charset=GB18030"
    pageEncoding
="GB18030"
%>
<% @ taglib prefix="s" uri="/struts-tags"  %>     
< html >
< head >
< title > upload </ title >
</ head >
< body >
< s:form  action ="upload"  enctype ="multipart/form-data" >
    
< s:textfield  name ="username"  id ="username"  label ="username" />
    
< s:file  name ="file"  id ="file"  label ="file" />
    
< s:submit />
</ s:form >
</ body >
</ html >

 result.jsp

<% @ page language="java" contentType="text/html; charset=GB18030"
    pageEncoding
="GB18030"
%>
<% @ taglib prefix="s" uri="/struts-tags" %>
< html >
    
< head >
        
< title > result </ title >
    
</ head >
    
< body >
        
< s:property  value ="username"   />
        
< br >
        
< s:property  value ="fileFileName"   />
    
</ body >
</ html >

UploadAction.java

package  com.xie.struts.upload;

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.ActionSupport;

public   class  UploadAction  extends  ActionSupport  {
    
private String username;

    
private File file;

    
private String fileFileName; // 有属性file+Filename固定组成

    
private String fileContentType; // 有属性file+ContentType固定组成

    
public String getUsername() {
        
return username;
    }


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


    
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 {
        InputStream is 
= new FileInputStream(file);
        String root 
= ServletActionContext.getRequest().getRealPath("/temp");
        File destFile 
= new File(root, this.getFileFileName());
        OutputStream os 
= new FileOutputStream(destFile);
        
byte[] buffer = new byte[400];
        
int length = 0;
        
while ((length - is.read(buffer)) > 0{
            os.write(buffer, 
0, length);
        }

        is.close();
        os.close();
        
return SUCCESS;
    }

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值