java、javascript實現附件下載樣本,javajavascript

來源:互聯網
上載者:User

java、javascript實現附件下載樣本,javajavascript

在web開發中,經常需要開發“下載”這一模組,以下給出一個簡單的例子。

在伺服器端,使用java開發:

@RequestMapping(value = "download.html", method = RequestMethod.GET) public void download(String resourceid, HttpServletRequest request, HttpServletResponse response) { response.setContentType("charset=UTF-8"); File file = new File(path); response.setHeader("Content-Disposition", "attachment; filename=a"); BufferedInputStream bis = null; BufferedOutputStream bos = null; OutputStream fos = null; InputStream fis = null; try { fis = new FileInputStream(file.getAbsolutePath()); bis = new BufferedInputStream(fis); fos = response.getOutputStream(); bos = new BufferedOutputStream(fos); int bytesRead = 0; byte[] buffer = new byte[5 * 1024]; while ((bytesRead = bis.read(buffer)) != -1) { bos.write(buffer, 0, bytesRead); } bos.flush(); }catch(E e){ }finally { try { bis.close(); bos.close(); fos.close(); fis.close(); } catch (IOException e) { e.printStackTrace(); } } }

當我們在前端請求這個地址時,伺服器先找出檔案,設定回應標頭,然後通過流輸出到瀏覽器端。

瀏覽器在頭中發現該響應的主體是流檔案,則自動會調用另存新檔的視窗,讓使用者儲存下載。

這裡有個關鍵就是Content-Disposition這個頭屬性,Content-Disposition是MIME協議的擴充,用於指示如何讓用戶端顯示附件的檔案。

它可以設定為兩個值:

inline //線上開啟

attachment //作為附件下載

這裡我們設定的值為attachment,所以可以被識別為附件並下載。

上面講了如何寫伺服器端,下面講前端如何請求。

前端請求有三種方式:

1.Form

<form action='download.html' method='post'> <input type='submit'/> </form>

2.iframe

var iframe = "<iframe style='display:none' src='download.html'></iframe>" body.append(iframe);

​當iframe被append到body中時,會自動請求下載連結。

3.open

window.open("download.html");


jsp中java與javascript是什關係?jsp檔案中可以同時嵌入java與javascript語句?最好舉個例子,

JAVASCRIPT從其名稱含義是JAVA指令碼,是在瀏覽器中啟動並執行指令碼語言,由於其大部分文法規範取自於JAVA文法規範,
所以取名為JAVASCRIPT。JAVASCRIPT是一門基於對象的弱類型指令碼程式設計語言,主要用來製作網頁前台的技術.
並且是現在比較熱門的AJAX技術的核心.
JSP是JAVA SERVER PAGE的首字母縮寫,顧名思義,是JAVA的服務端頁面,其動態文法部分完全是JAVA規範。
JAVA的概念這裡就不描述了。JSP是和ASP,PHP一樣的伺服器端語言,主要用來製作網站背景技術.
JAVA是和C/C++一個等級的強型別程式設計語言,是純物件導向的.比起JSP和JAVASCRIPT要複雜的多.
一般學好JAVA就能很容易轉向其他兩門語言.
總結:
JSP是JAVA技術的其中之一,所以學好了JAVA過渡到JSP從編程角度來講比較容易,學好JSP以後要想學好JAVA,就還要學習更多的JAVA方面的東西,比如JAVABEAN,企業級應用等等。
JAVASCRIPT嚴格來講,除了文法參照了JAVA文法規範外,和JAVA毫無關係,所以兩者之間只是文法規範類似,
相互之間的過渡就只有文法能夠參照,其他的都得分別去瞭解,JAVASCRIPT是過程式語言,JAVA則是物件導向的。

<html>
<head></head>
<script>
<% java.util.List list = (java.util.List)request.getAttribute("list")%>//這句話是用java去後台取出list到前台。

function listener(){ //這句用到了js
alert("你好,你單機了這個按鈕");

}
</script>

<body>
list的長度為: <input type="text" value="<%= list.size() %>">
<input type=“button” onclick="listener();" name=“點擊我”>

</body>

</html>

不明白可以私信我。
 
問在java中怎實現附件上傳?(最好有簡單的代碼)

用strus2比較簡單,百度輸入struts2上傳下載,有很多例子,並附帶代碼,直接考下來就行,我就不貼代碼了
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.