㈠ 後台java用respone輸出的中文,非同步到前台jsp接收亂碼,如何處理
先看一下輸出頁面的編碼,假如是utf-8,那麼在你跳轉前的java類中
response.setCharacterEncoding("utf-8");
之後在打出你要的中文,試試
㈡ java web二進制流的圖片如何用response返回給前台
FileOutputStream很明顯你是用的文件流返回的
// 以byte流的方式打開文件 d:1.gif
FileInputStream hFile = new FileInputStream(url); //得到文件大小
int i=hFile.available();
byte data[]=new byte[i]; //讀數據
hFile.read(data); //得到向客戶端輸出二進制數據的對象
OutputStream toClient=response.getOutputStream(); //輸出數據
toClient.write(data);
toClient.flush();
toClient.close();
hFile.close();
(2)javaresponse輸出擴展閱讀:
如果是純文本使用字元流,如果二進制文件,使用位元組流。
如果只是得到信息,原樣不動,不進行修改操作,例如文件上傳和下載,這時就使用位元組流。文件上傳:在伺服器端把瀏覽器端信息提取出來。文件下載:把伺服器端內容寫給瀏覽器端。
如果要操作的是自定義信息,這時使用字元流。
通過response獲取的輸出流它的真實類型是什麼?
ServletOutputStream response.getOutputStream();
PrintWriter response.getWriter();
ServletOutputStream由於使用位元組流多數是原樣復制,所以使用write方法,而不是print方法。
PrintWriter:列印流,兩個特點:1.可以設置自動刷新。2.可以將信息原樣輸出。
㈢ Java:網上說"web彈出另存為對話框都是往response裡面寫輸出流",這個是什麼意思呢能有大神給舉個例子嗎
我不是大神,但我可以幫你解答,你說的沒有錯,就好像是下載文件一樣,確實是response的輸出流,細節很繁瑣,但是有一句話是你說的輸出流,response.getOutputStream().writex(xxx); xxx 表示你要輸出的東西,這樣網頁上就會有彈出來的框,另存為了。
㈣ java web response 怎樣獲得輸出流
ServletResponse中定義了如下兩個方法
getOutputStream();
getWriter();
對應獲得位元組流和字元流
由於HttpServletResponse繼承自ServletResponse所以天生也具有以上兩個獲得輸出流的方法
㈤ java servlet中response.getWriter().print()是向哪裡輸出
response是響應,所以輸出的是請求的地方 ,就像ajax,發送請求後會返回數據,而這個
response.getWriter().print()就類似將得到的數據返回到前端
㈥ java導出功能response.setHeader("Content-disposition...先運行js腳本,在線等
你似乎弄錯了 HTTP 流程,怎麼可以在已經開始輸出資料到 Response 的 OutputStream /Writer 之後再來 response.setHeader() 呢,這會得到 IllegalStateException 無效狀態錯誤。
出現在 JSP 中的非 <% %> 內的內容相當於 out.println(); 輸出的。因此我們要麼在最開始(前面連一個空格都沒有)的位置<% %> 中准備 Header 內容。
Header 應該在准備寫出實際內容之前完成,因為 out.println() 或 JSP 中的 HTML/CSS/JS 都是 Body 的內容, Header 應該在 Body 之前完成。HTTP 通信的過程是先是 URL 請求和狀態碼,然後是各種Header,再是一個空行隔開,再是BODY內容。這里說的 Body 不是指<body> 標簽,連 <head> 標簽都是 HTTP Body 的內容。
另外要知道 <% %> 的代碼在伺服器就已經計算後固定下來再送到客戶端瀏覽器的,所以你在 js 運行的時候 <% %> 計算的任何文本值已經確定了,因為 js 是運行在客戶端瀏覽器中的,這個時刻已經與伺服器沒有任何關系了。
如果你想下載這個文件的話,這個 Content-disposition 應該是由伺服器來填充的,要知道在 js 中只是計算文件下載的 URL,真實的下載過程是另外再開一個 請求的 (新的 HttpServletRequest) 。而我們的 js 只需要計算出來文件下載的 URL 之後 window.open(...) 打開這個URL ,瀏覽器就會自動的彈出下載。
㈦ 怎麼用response對象輸出文本文件
response.setContentType("application/x-msdownload;charset=UTF-8");
response.setHeader("Content-Disposition","attachment;filename=" + java.net.URLEncoder.encode(fileName, "UTF-8"));
fileName 為 文件名
㈧ 如何從response裡面取出向客戶端輸出的html流
1、首先我們來創建一個類名為OutServlet的類,接下來讓它繼承HttpServelt類,然後重寫doGet和doPost的方法。
㈨ Servlet 的response輸出了,還會繼續執行後面代碼么
會繼續執行的 ,response.getWriter().write("message");只是向瀏覽器返回一些數據,後面的java代碼可以繼續執行!
㈩ java servlet request和response
request
是請求的載體,它附帶著,請求的參數,ip,cookie,表單,字元編碼,或者上傳文件。
你可以通過request去獲得你所需要的信息。
response是響應的載體,你可以設置,表頭,報文,響應文件類型,字元編碼,response,自帶一個輸出流,當你需要將一個頁面或者一個文件傳到客戶端時,你可以通過這個流來進行操作。