亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

struts2實現文件下載功能

2024-07-14 08:39:52
字體:
來源:轉載
供稿:網友

本文實例為大家分享了struts2下實現文件下載功能,供大家參考,具體內容如下

下面以實現一個圖片下載功能為例:

1. 項目結構

struts2,文件下載

2. web.xml

<?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0"  xmlns="http://java.sun.com/xml/ns/javaee"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee  http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">   <!-- 設置struts 2過濾器 -->  <filter>   <filter-name>struts 2</filter-name>   <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>  </filter>  <filter-mapping>   <filter-name>struts 2</filter-name>   <url-pattern>/*</url-pattern>  </filter-mapping>    <!-- 設置歡迎頁面 -->  <welcome-file-list>   <welcome-file>index.jsp</welcome-file>  </welcome-file-list>   <!-- session超時定義,單位為分鐘 -->  <session-config>   <session-timeout>30</session-timeout>  </session-config>  </web-app> 

3.DownloadAction.java

package com.action;  import java.io.InputStream; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionSupport;  public class DownloadAction extends ActionSupport{  private static final long serialVersionUID = 1L;  //文件路徑  private String path;    //path屬性的getter方法  public String getPath(){   return path;  }  //path屬性的setter方法  public void setPath(String path){   this.path = path;  }  //返回inputstream,文件下載關鍵方法  public java.io.InputStream getDownloadFile() throws Exception{   InputStream in = ServletActionContext.getServletContext().getResourceAsStream(getPath());   return in;  }  public String execute() throws Exception{   return SUCCESS;  } } 

4.struts.xml

<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts>   <!-- 配置 Struts 2 應用中的常量 -->   <constant name="struts.i18n.encoding" value="UTF-8" />    <!-- 配置上傳文件的最大容量,struts2默認為2M。單位是1B, 1KB=1024B,1M=1024KB,1M=1024*1024B-->    <constant name="struts.multipart.maxSize" value="1048576" />       <!-- 配置本應用中的包,繼承 struts-default 包 -->   <package name="FileDownload" namespace="/" extends="struts-default">    <action name="download" class="com.action.DownloadAction">     <!-- 設置文件路徑的參數,傳到action類文件中去 -->     <!-- <param name="path">/download/a.jpg</param> -->     <!-- 下載文件類型定義,即定義為“stream” -->     <result name="success" type="stream">      <!-- image/jpeg代表JPG圖片 -->      <param name="contentType">image/jpeg</param>      <!-- 下載文件處理方法 -->      <param name="contentDisposition">       <!-- attachment表示附件方式,即下載時打開保存對話窗,filename表示下載時顯示的保存時的文件名 -->        <!-- 如果不寫attachment;或者是寫的是inline; 則表示內聯,即會在瀏覽器中嘗試打開下載的文件,而不是下載-->       attachment;filename="a.jpg"        </param>      <!-- 下載文件輸出流定義 -->       <!-- 這里的inputName元素所對應的value值downloadFile,在action中一定要有對應的getDownloadFile()方法 -->      <param name="inputName">downloadFile</param>      <!-- 下載緩沖區的大小 -->      <param name="bufferSize">1024</param>     </result>    </action>   </package> </struts>

5.index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html>  <head>  <base href="<%=basePath%>" rel="external nofollow" >  <title>首頁</title>  </head>  <body>  <center>   歡迎來到首頁,點下面鏈接去下載一個文件<br />   <a href="download.action?path=<%=" rel="external nofollow" ./download/a.jpg" %>">下載</a>   </center>  </body> </html>

  6.文件路徑

項目中要提前建立好download目錄,和里面要存在有a.jpg文件,否則,下載會失敗。

7.功能入口

項目發布到服務器后,用瀏覽器訪問項目中的index.jsp ,點擊下載鏈接,就可以彈出“下載”對話框。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品电影观看| 国产主播精品在线| 国产精品一二三在线| 亚洲欧美国产精品va在线观看| 国内精品视频一区| 97在线视频观看| 亚洲码在线观看| 九九视频这里只有精品| 国产一区二区三区直播精品电影| 亚洲美女av在线| 久久国产精品久久精品| 这里只有精品丝袜| 精品国产福利在线| 亚洲一区二区三区香蕉| 亚洲免费中文字幕| 91国产精品视频在线| 国产精品小说在线| 亚洲激情视频网| 亚洲精品电影网在线观看| 欧美成人h版在线观看| 欧美巨乳美女视频| 国产综合久久久久久| 国产精品高潮呻吟久久av黑人| 中文字幕亚洲欧美在线| 91在线观看免费高清完整版在线观看| 欧美电影在线观看高清| 高清欧美一区二区三区| 在线视频一区二区| 韩国美女主播一区| 中文精品99久久国产香蕉| 国产精品福利在线观看网址| 精品露脸国产偷人在视频| 国产亚洲精品激情久久| 亚洲国产精品人久久电影| 亚洲国产成人在线播放| 精品中文字幕在线| 亚洲第一级黄色片| 亚洲国产欧美精品| 91欧美精品午夜性色福利在线| 久久久999成人| 日韩精品在线私人| 国产视频精品在线| 黑人精品xxx一区| 久久天堂av综合合色| 清纯唯美日韩制服另类| 亚洲成年人在线| 国产福利精品在线| 国产一区二区免费| 韩国美女主播一区| 精品国偷自产在线| 国产mv久久久| 欧美日韩国产精品一区| 国产91在线视频| 日韩精品视频在线免费观看| 国产精品久久久久久久久久小说| 国内外成人免费激情在线视频| xxx一区二区| 亚洲国产精品成人精品| 国产精品高清在线观看| 国产精品第2页| 日韩电影中文字幕在线观看| 欧美肥臀大乳一区二区免费视频| www.久久草.com| 久久久久久久国产精品视频| 精品福利在线视频| 亚洲精品自拍偷拍| 自拍偷拍亚洲精品| 国产精品视频精品视频| 欧美性做爰毛片| 国产裸体写真av一区二区| 日韩电影网在线| 日韩在线一区二区三区免费视频| 欧美一级淫片丝袜脚交| 日韩精品免费在线视频| 日本一区二区在线免费播放| 国产精品成av人在线视午夜片| 日韩在线激情视频| 亚洲香蕉成视频在线观看| 精品国产91乱高清在线观看| 久久久之久亚州精品露出| 91精品视频播放| 国产裸体写真av一区二区| 亚洲精品999| 欧美华人在线视频| 国产欧美日韩最新| 亚洲永久在线观看| 欧美劲爆第一页| 欧美电影免费观看高清完整| 大桥未久av一区二区三区| 国产一区欧美二区三区| 国产一区二区三区中文| 伊人伊成久久人综合网站| 欧美日韩激情美女| 91中文字幕在线| 国产精选久久久久久| 亚洲国产高潮在线观看| 国产精品永久免费观看| 日韩视频在线免费观看| 国产精品免费久久久久影院| 2020欧美日韩在线视频| 日韩视频欧美视频| 久久久久久久97| 日韩在线播放视频| 国产精品扒开腿爽爽爽视频| 欧美性猛交xxxx偷拍洗澡| 亚洲午夜精品久久久久久性色| 国产这里只有精品| 好吊成人免视频| 91高清视频免费观看| 欧美大肥婆大肥bbbbb| 久久97精品久久久久久久不卡| 久久精品视频在线| 日韩女优人人人人射在线视频| 精品久久久一区二区| 日韩在线精品视频| 国产成人精品一区二区三区| 欧美亚洲成人精品| 国产一区欧美二区三区| 91精品国产高清久久久久久91| 欧美老肥婆性猛交视频| 欧美一区二区三区艳史| 国产97色在线|日韩| 狠狠色狠狠色综合日日小说| 亚洲第一网中文字幕| 亚洲欧洲日产国码av系列天堂| 色综合男人天堂| 不卡av日日日| 91色p视频在线| 欧洲一区二区视频| 中文字幕欧美日韩在线| 亚洲精品久久久久久久久久久久| 日本aⅴ大伊香蕉精品视频| 欧美人与物videos| 午夜精品一区二区三区在线视| 18久久久久久| 亚洲天堂影视av| 91手机视频在线观看| 中文字幕欧美国内| 国产主播精品在线| 中文字幕日本欧美| 亚洲影院在线看| 九色成人免费视频| 97av在线视频免费播放| 久久中文字幕在线视频| 中文字幕在线看视频国产欧美| 成人免费大片黄在线播放| 最近2019年好看中文字幕视频| 黑人狂躁日本妞一区二区三区| 欧美最顶级的aⅴ艳星| 欧美xxxx18性欧美| 亚洲奶大毛多的老太婆| 亚洲淫片在线视频| 久久久之久亚州精品露出| 91亚洲精品久久久久久久久久久久| 欧美日韩免费区域视频在线观看| 欧美另类交人妖| 美女视频黄免费的亚洲男人天堂| 国产精品第二页| 麻豆乱码国产一区二区三区| 日韩精品在线电影| 国产一区红桃视频| 成人精品视频久久久久| 欧美激情一区二区三级高清视频| 超碰97人人做人人爱少妇|