生活随笔
收集整理的這篇文章主要介紹了
“放到桌面”的Servlet实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
復習下Servlet下載文件,
當response把ContentType設置成application/xxxx的時候呢,瀏覽器會默認啟動下載,而不是試圖打開。通過給httpHeader里面加入內容描述Content-Disposition來告知瀏覽器文件名稱等信息。
中文時,URLEncoder.encode下下更健康。如果要通過Response拿到的輸出流寫中文出去的話,要先設置response.setCharacterEncoding("UTF-8");,寫成小寫的utf-8不好使?通過response.setConetentLength(Long)告訴瀏覽器response要寫出的文件有多少字節。不設置的話就是不知道多少,下完為此,沒有進度條之類的東東。 /*** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// System.out.println("I'm get your request!!");response.setCharacterEncoding("UTF-8");response.setContentType("application/txt");response.addHeader("Content-Disposition", "attachment; filename="+URLEncoder.encode("中國通號門戶.url","utf-8"));Writer w = response.getWriter();w.write("[InternetShortcut]\r\n"+ "URL=http://w3.crsc.isc\r\n"+ "IDList=\r\n"+ "HotKey=0\r\n"+ "IconFile=%windir%\\system32\\SHELL32.dll\r\n"+ "IconIndex=130\r\n"+ "[{000214A0-0000-0000-C000-000000000046}]\r\n"+ "Prop3=19,2");w.close();}
大家都知道,像下面這種內容,寫入到txt文本中,然后更改文件擴展名為.url就直接是一個url快速鏈接了。
[InternetShortcut]
URL=http://w3.crsc.isc
IDList=
[{000214A0-0000-0000-C000-000000000046}]
Prop3=19,2
所以呢,只要有Servlet里面把這些內容用txt的格式通過response寫出來就好了,然后給一個明確的文件名與后綴就好了。
轉載于:https://www.cnblogs.com/nimeiz/p/3974487.html
總結
以上是生活随笔為你收集整理的“放到桌面”的Servlet实现的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。