2009-07-08 55 views
1

很難弄清楚如何發送動態數據到網絡應用程序的用戶,而無需創建文件&使用動態鏈接使用Java技術的靜態內容。 (避免文件在磁盤上創建的主要原因是安全性和速度)如何爲Tomcat和Java技術提供動態生成的文件?

這是我以前在做蟒蛇,但這個web應用程序的目的是要嚴格Java技術維護的目的。

在谷歌做了幾次搜索後,我沒有得到任何進一步的。有沒有人做過這個或有一個好的想法的起點?

+0

你可以使用servlet?或JSP-s? – akarnokd 2009-07-08 15:22:15

+0

兩者。如果有其他建議,任何基於Java的Web技術都可以。 – dborba 2009-07-08 15:56:23

回答

4

您可以從servlet輸出任何類型的內容類型。只需將標題設置爲正確,並將要發送的內容轉儲到請求正文。

response.setContentType("application/vnd.ms-excel"); 
response.setHeader("Content-Disposition", "attachment;filename=" + file); 
// generate the content and send it to response.getOutputStream() 

這將設置內容類型爲excel文件,並強制瀏覽器下載文件。

作爲獎勵,您可以告訴您的servlet偵聽特定路徑,並使用真實文件名設置鏈接。

<servlet-mapping> 
    <servlet-name>Export</servlet-name> 
    <url-pattern>/export/*</url-pattern> 
</servlet-mapping> 

<a href="<%=request.getContextPath()%>/export/Myreport.xls"> 
    Myreport.xls 
</a> 
相關問題