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

首頁 > 編程 > JSP > 正文

struts2+jsp實現文件上傳的方法

2020-07-27 21:30:20
字體:
來源:轉載
供稿:網友

本文實例講述了struts2+jsp實現文件上傳的方法。分享給大家供大家參考。具體如下:

1. java代碼:

package com.wang.test;import java.io.InputStream;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.Action;import com.opensymphony.xwork2.ActionSupport;public class DownLoadPhoneFile extends ActionSupport{  ////getDownloadFile()方法返回的必須是InputStream。getResourceAsStream()方法可以通過流的方式將資源輸出   public InputStream getDownloadFile()  {    return ServletActionContext.getServletContext().getResourceAsStream("/upload/UserLogin_7.27.apk");  }  public String execute()  {    return Action.SUCCESS;  }  /*************【Struts2的文件下載的實現方式】*********************************************/   //如果直接寫一個鏈接鏈到所要下載的文件上的話,對于有的時候,默認的會自動在瀏覽器里面打開   //這種情況非常不利于我們的文件下載和權限控制。因此,我們實現文件下載時都不會采用這種方式   //我們所采用的是標準HTTP協議的方式,輸出二進制的流,導致瀏覽器認識這個流,它再進行文件下載   //實際上這種方式是跟輸出有關的,當點擊下載鏈接時,會產生下載的一個信息。它是跟result有關的   //所以就到struts-default.xml中查看<result-type/>結果類型   //其中<result-type name="stream" class="org.apache.struts2.dispatcher.StreamResult"/>   //事實上,這里的StreamResult類是專門用來執行文件下載的   /*************【每一次下載文件時,控制臺都會提示socket異?!?**********************************/   //報錯信息為java.net.SocketException:Connection reset by peer: socket write error   //下載本身也是socket操作,于是拋出該異常。實際上這個異常可以忽略掉。每次下載的時候,都會拋出該異常   //在getDownloadFile()方法上throws Exception之后,控制臺上就不會再報告這個異常信息啦   /*************【用于處理文件下載的StreamResult類的源代碼片段】********************************/   //這里顯示的是org.apache.struts2.dispatcher.StreamResult類的源代碼片段   //public class StreamResult extends StrutsResultSupport{     //protected String contentType = "text/plain";     //protected String contentLength;     //protected String contentDisposition = "inline";     //protected String inputName = "inputStream";     //protected InputStream inputStream;     //protected int bufferSize = 1024;   /*************【淺析StreamResult類的三個重要屬性】******************************************/   //這里我們主要關注一下StreamResult類的三個屬性:contentType、contentDisposition、inputName   //這些屬性都是通過在struts.xml配置之后,由Struts2自動注入到對象里面去的   //其中contentType用來指定下載的文件的類型,contentDisposition用來指定下載文件的名字   //另外bufferSize用來設定下載文件時的緩沖區大小,默認為1KB,通常按照默認的1KB就可以了   //實際上這些屬性完全是根據HTTP協議得來的。HTTP協議就規定了下載文件的時候,需要使用到這些屬性   //其中最關鍵的就是protected String inputName屬性,它是用來指定真正下載的文件的IO流   //因此DownloadAction中必須返回一個輸入流。因為下載的時候,本身就是一個從服務器端將文件輸入過來的操作   /***************************************************************************************/ }

2. 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>  <package name="default" extends="struts-default" namespace="/">    <action name="download" class="com.wang.test.DownLoadPhoneFile">      <result name="success" type="stream">        <param name="contentType">application/vnd.ms-powerpoint</param>        <param name="contentDisposition">attachment;filename="UserLogin_7.27.apk"</param>        <param name="inputName">downloadFile</param>      </result>    </action>  </package></struts>

3. 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%>">  <title>My JSP 'index.jsp' starting page</title>  <meta http-equiv="pragma" content="no-cache">  <meta http-equiv="cache-control" content="no-cache">  <meta http-equiv="expires" content="0">    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">  <meta http-equiv="description" content="This is my page"> </head> <body>  <input type="button" value="手機端安裝包下載" onclick="javascript:window.location='download.action';"/>  </body></html>

希望本文所述對大家的JSP程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲最新av在线网站| 久久综合伊人77777| 精品久久久在线观看| 亲子乱一区二区三区电影| 丝袜亚洲欧美日韩综合| 久久夜色精品国产亚洲aⅴ| 日韩美女在线播放| 国色天香2019中文字幕在线观看| 国产成人精品久久| 亚洲欧美在线x视频| 欧美成人午夜视频| 91久久在线观看| 国产亚洲欧美另类中文| 国产精品久久久久久久久久尿| 韩国日本不卡在线| 日韩精品在线电影| 亚洲一区二区三区毛片| 国产欧亚日韩视频| 日韩av第一页| 红桃av永久久久| 日韩欧美在线网址| 91av在线视频观看| 国产精品久久久久久久一区探花| 国产免费亚洲高清| 亚洲视频自拍偷拍| 国产一区二区日韩| 亚洲精品黄网在线观看| 亚洲国产成人精品久久| 欧美电影在线观看网站| 欧洲亚洲免费视频| 日韩经典中文字幕| 亚洲精品国产精品国自产在线| 欧美伦理91i| 亚洲国产精品一区二区三区| 欧美激情区在线播放| 一区二区国产精品视频| 美女久久久久久久久久久| 8x海外华人永久免费日韩内陆视频| 色婷婷亚洲mv天堂mv在影片| 91av在线网站| 国产中文日韩欧美| 秋霞成人午夜鲁丝一区二区三区| 国产精品一区二区3区| 中文字幕日韩欧美| 一区二区三区久久精品| 精品久久久久国产| 亚洲va码欧洲m码| 久久久久中文字幕| 国产精品揄拍500视频| 久久综合免费视频影院| 美女精品久久久| 一本一本久久a久久精品牛牛影视| 最近2019中文免费高清视频观看www99| 日韩av在线精品| 欧美在线一区二区视频| 色噜噜狠狠狠综合曰曰曰88av| 成人黄色在线免费| 色av吧综合网| 日韩av在线网| 欧美风情在线观看| 亚洲综合社区网| 久久九九全国免费精品观看| 成人午夜两性视频| 亚洲网站在线看| 成人免费午夜电影| 成人美女av在线直播| 国产精品第七十二页| 国产精品久久久久久网站| 国产精品视频区| 亚洲成年人影院在线| 中文字幕av日韩| 欧美一级bbbbb性bbbb喷潮片| 97涩涩爰在线观看亚洲| 亚洲精品按摩视频| 国产成+人+综合+亚洲欧美丁香花| 色吧影院999| 在线免费观看羞羞视频一区二区| 精品国产一区二区三区四区在线观看| 中文字幕久久久av一区| 91精品久久久久久综合乱菊| www.日韩视频| 日韩日本欧美亚洲| 精品一区二区三区三区| 91国产一区在线| 亚洲欧美激情另类校园| 亚洲成人aaa| 91爱视频在线| 91精品在线看| 欧美高清无遮挡| 黄色精品在线看| 国产精品白嫩美女在线观看| 永久555www成人免费| 91最新在线免费观看| 欧美日韩黄色大片| 亚洲女成人图区| 精品国产一区二区三区久久久| 91色视频在线导航| 久久在线观看视频| 亚洲a级在线播放观看| 欧美重口另类videos人妖| 国产精品福利网站| 亚洲成人av片在线观看| 精品偷拍一区二区三区在线看| 精品国产一区二区三区四区在线观看| 91在线观看免费高清完整版在线观看| 91美女片黄在线观| 亚洲精品99久久久久| 日韩精品亚洲精品| 国产精品久久久久久婷婷天堂| 96国产粉嫩美女| 国产精品吊钟奶在线| 欧美精品免费看| 久久成人精品视频| 欧美成人精品一区二区三区| 国产精品手机播放| 国产成人免费91av在线| 成人激情在线观看| 国产97在线观看| www.日韩欧美| 日韩免费av片在线观看| 色偷偷91综合久久噜噜| 久久天天躁狠狠躁老女人| 精品国内亚洲在观看18黄| 亚洲第一网站免费视频| 精品国产美女在线| 亚洲女人天堂色在线7777| 欧美成人免费一级人片100| 成人午夜在线视频一区| 色偷偷综合社区| 日韩精品在线电影| 17婷婷久久www| 久久久国产精品视频| 成人综合国产精品| 国产成人鲁鲁免费视频a| 国产精品国内视频| 国产成人jvid在线播放| 92版电视剧仙鹤神针在线观看| 国产日韩欧美夫妻视频在线观看| 久久99视频精品| 久久91亚洲精品中文字幕| 91在线观看免费| 亚洲精品欧美日韩专区| 欧美肥臀大乳一区二区免费视频| 中文字幕在线看视频国产欧美| 91精品视频在线看| 精品自在线视频| 久久国产色av| 在线观看亚洲区| 久久久久久久久网站| 激情av一区二区| 欧美日韩福利在线观看| zzijzzij亚洲日本成熟少妇| 成人午夜两性视频| 自拍偷拍亚洲欧美| 亚洲一区二区三区777| 亚洲人成在线播放| 欧美激情精品久久久久久| 91精品国产亚洲| 国内精品400部情侣激情| 尤物精品国产第一福利三区| 91免费高清视频| 日韩精品一二三四区| 国产精品自拍小视频| 精品久久香蕉国产线看观看gif|