1. 程式人生 > >解決jsp頁面直接取流顯示多個圖片時getOutputStream和getWriter()衝突問題

解決jsp頁面直接取流顯示多個圖片時getOutputStream和getWriter()衝突問題

tomcat5下jsp出現getOutputStream() has already been called for this response異常的原因和解決方法

在tomcat5下jsp中出現此錯誤一般都是在jsp中使用了輸出流(如輸出圖片驗證碼,檔案下載等), 
沒有妥善處理好的原因。具體的原因就是 在tomcat中jsp編譯成servlet之後在函式_jspService(HttpServletRequest request, HttpServletResponse response)的最後 有一段這樣的程式碼 

finally { 
      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context); 
    } 
這裡是在釋放在jsp中使用的物件,會呼叫response.getWriter(),因為這個方法是和 
response.getOutputStream()相沖突的!所以會出現以上這個異常。

開始我用的是直接img 標籤的src屬性裡直接放一個地址從ftp直接取圖片流,但是迴圈取多張圖片的時候會出現這個異常,單個圖片不會有問題

ajax迴圈的話也不行,之後大佬幫我寫了一個方法用的 Image()物件onload一個個載入就好了

html頁面

<c:forEach items="${imgUrlList}" var="imgUrl">
<div>
<input type="hidden" id="${imgUrl.id}" imgname="${imgUrl.name}" name="recordAddress" value="${imgUrl.recordAddress}"/>
</div>
<hr>

</c:forEach>

js程式碼

function onloadImg(){
$('input[name=recordAddress]').each(function(index){
if(index == 0){
var obj=new Image();
var id = $(this).attr("id");
var imgname = $(this).attr("imgname");
obj.src='${ctx}/bm/student/bmStudents/getPhoto?photoURL='+$(this).val();
obj.onload=function(){
$('#'+id).after("<label>"+imgname+"</label><br><img style='width: auto;height: auto;max-width: 70%;max-height: 70%;' src='"+obj.src+"' />");
$("#"+id).remove();
onloadImg();
}
}
});

}

document.ready後呼叫就可以了

相關推薦

解決jsp頁面直接顯示圖片getOutputStreamgetWriter()衝突問題

tomcat5下jsp出現getOutputStream() has already been called for this response異常的原因和解決方法在tomcat5下jsp中出現此錯誤一般都是在jsp中使用了輸出流(如輸出圖片驗證碼,檔案下載等), 沒有妥善處

在swiper中使用長頁面,以及巢狀swiper滑動卡頓、無法滑動的問題。

前言 一般而言,swiper的應用場景大多是兩種: 滿屏切換的H5頁面 pc&移動端各種樣式的輪播圖 但有的時候,面對奇怪的需求,我們需要改變,甚至讓swiper實現一些無法實現的功能。 需求 近期接到一個h5專案,主體頭部

Android 使用ViewPager實現類似gallery畫廊的效果(畫廊效果之ViewPager顯示圖片)

這個畫廊的效果利用到了View的clipChildren屬性,我們在這裡要把ViewPager以及它的父窗體都設定為false,如下: android:clipChildren="false

【轉】Android 使用ViewPager實現類似gallery畫廊的效果(畫廊效果之ViewPager顯示圖片)

這個畫廊的效果利用到了View的clipChildren屬性,我們在這裡要把ViewPager以及它的父窗體都設定為false,如下: Android:clipChildren=”false” 因為如果clipChildren屬性設定為true,就表明我

Android高階圖片滾動控制元件,編寫3D版的圖片輪播器 一屏顯示圖片

大家好,好久不見了,最近由於工作特別繁忙,已經有一個多月的時間沒寫部落格了,我也是深感慚愧。那麼今天的這篇既然是闊別了一個多月的文章,當然要帶來更加給力點的內容了,那麼話不多說,趕快進入到今天的正題吧。 說到圖片輪播器,很多的Android應用中都會帶有這個

同一頁面無法顯示模態框的解決辦法

問題描述:第一個模態框可以正常彈出,第二個模態框只顯示陰影,無彈出。 解決辦法:在兩個模態框的程式碼外分別包裹div。 如圖所示,這是一個修改教師資訊的彈出框,模態框的具體程式碼被我摺疊了,大家

新手解決jsp頁面<%@報錯的方法

昨天 問題 我們 ava 動態 大神 安裝tomcat 。。 新手 昨天菇涼我很崩潰的重裝電腦系統(嗯,沒錯,第一次自己裝系統,我可能是一個假的計算機系學生!),但這沒難倒天生聰慧的我,都是小case~。這都不是重點,重點來了,當我火速配置好java的開發環境jd

在同一頁面顯示JavaScript統計圖表

cimage href auto class body yellow 效果 兩個 簡單的 最近我接到一個開發任務,要求就“售後服務客戶滿意度調查問卷表”裏客戶填寫的反饋答案做一個統計。 問題的例子如下: 您最後一次是何時購買了我們的產品? 服務人員服務態度是否友好、工作盡

JSP踩坑 IDEA中解決JSP頁面cannot resolve method setAttribute("")

我的媽/微笑 踩坑原來是這麼個感受,這麼多小時解決不了問題,呵呵 在一個專案中,我要在jsp頁面中使用SpringMVC<from:form>表單標籤解析一個性別gender的的radiobuttons。 程式碼如下: <% Map<S

在controller中通過ModelAndView返回到頁面的值,在jsp頁面怎麼不到值呢?

首先先講下 el表示式和jstl EL(Expression Language)是一種表示式語言,主要用於查詢作用域中的資料,然後對它們執行一些簡單的操作,用於對jsp標籤的屬性賦值。它不是程式語言。JSTL( JSP Standard Tag Library)是JSP標準 標籤庫,由

如何解決JSP頁面頂端報錯 The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path

題目有點長,昨天剛接觸jsp,按照網上的教程安裝完 tomcat 和 eclipse EE 之後,新建jsp檔案卻出現瞭如下報錯: The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path 教程

解決JSP頁面無法使用EasyUI裡面class="easyui-dialog"的問題

當使用MyEclipse新建一個JSP頁面的時候,MyEclipse會自動新增一些標記,這些標記也許不一定會在工程中使用到。比如<base href="<%=basePath%>">通常可以使用../來代替。除此之外,這些標記也許會對其它工具產生影

AngularJS進階(二十八)解決AngualrJS頁面重新整理導致異常顯示問題

解決AngualrJS頁面重新整理導致異常顯示問題 緒           俗話說,細節決定成敗,程式設計亦是如此。程式設計過程中我們可能會不自覺的忽視一些細節問題,殊不知,這些細節正是導致頁面顯示出現問題的地方。今略舉一例,與君共勉之。       頁面正常載入後,顯示如

echarts實現一個頁面同時顯示不同形狀的圖表/動態往圖表中存放資料

最近做的一個專案的其中一個頁面有圖表展示資料的需求,有柱狀圖、折線圖和餅圖,於是引入了強大的echarts. echarts的強大之處和有點這裡就不多說了,詳細請參照echarts官網和echarts線上demo。 但是我們的頁面要展示的資料比較多,同一個頁

Nodejs 實現爬蟲的改造:Promise優化、動態頁面資料的獲取、頁面併發爬

跟著Scott老師把上一次的那個爬蟲程式碼進行改造,主要包括單個網頁爬取變為多個網頁爬取、使用Promise來優化多層回撥、動態資料的獲取(Scott老師視訊中沒有的,自己亂搞一個晚上出來的。。。)  首先來介紹一下Promise,Promise可以將多層的回撥轉換為鏈式來

解決jsp頁面下拉列表可以輸入文字的問題

今天在jsp頁面中作了一個下拉列表,寫了好了裡面的元素以為就這樣就可以了,一個意外的操作,讓我發現竟然不點選下拉別表的三角號,可以在裡面輸入文字,這個很鬱悶,各種想辦法, 最後一個簡單的操作就可以了,在當前標籤裡面加上一個readOnly就可以了,只讀,也就是不可以寫。笨死

jsp頁面直接跳轉編碼方式

<%@page import="java.net.URLEncoder"%> <%@ page language="java" contentType="text/html; charset=UTF-8"     pageEncoding="UTF-8"%

有無C標籤在JSP頁面值(兩種方式)

<%@ page contentType="text/html" pageEncoding="GBK"%> <%@ page import="java.util.*" %> &

基於大華SDK 實現大華NVR 顯示檔案回放功能的實現

最近在做關於大華nvr 獲取大華攝像頭的資料流和儲存到硬碟中的視訊檔案,發現網上關於大華攝像頭的二次開發的部落格比較少,特分享一下最近完成的關於大華nvr的兩個小功能,希望能夠給大家一些啟發與幫助。 #include <stdio.h> #incl

通過Filter解決跨域問題,可以跨域,域可以通過@Value註解

跨域中不同的域指的是“協議+IP+埠”,只要其中一個不相同就要跨域訪問,為了安全,瀏覽器對於跨域預設是禁止訪問的。現在很多應用的客戶端和服務端是分開的,那麼如何來讓處於不同域的客戶端和服務端實現跨域訪問呢,而且客戶端還可能不止一個,那麼又如何實現多客戶端跨域訪問一個服務端