我正在閱讀《Head First Servlet and JSP》這本書。有一個問題我不能完全理解。
我不清楚為什么書中說"不可能將任何二進制檔案的內容匯入到jsp頁面中,該頁面會生成HTML內容"。
為什么上述說法是真的呢?
是否由于運行時包括二進制檔案將打開一個新的輸入流?
這將引起什么例外?
這是否意味著即使我使用<%@ include file = "logo.png" @>來在編譯時而不是運行時包含二進制檔案,包含仍然會失敗嗎?
uj5u.com熱心網友回復:
經過測驗
<jsp:include page="banner.png"></jsp:include>/code>
結果是未翻譯的代碼
2 /;?Xè%?a€w?é?a1r?<?'A?re??f'2dPíDuS3=w? RiTê?jO?2q???t "à?$'?v3(Y?1?ù&üzíu??t?z??tq=2òI_e-5G?ü?àdKü?? 7?> a?s?tòKù×??-v?D?ò}?÷?dyS?s?m??éd?2ˉt?_ùgDù 6? ó...?S?-#??Eg "??èH's"?cYsDù?áóá??ê§ó?'o...?4v'?i′|)! èVVX±?Y'e???/ab/?Xo...i'YYj: ê???? "eaùó?Y???,6 ¢?iüdà?é"¢Y?ú^X; "L@?HN`3yxS¨¨?X2?S¨á?×μlm u(fóK??QJ?,es???nt'}
<%@ include file = "banner.png" %>/code>
結果是500個服務器錯誤
。HTTP錯誤Code。 500。
錯誤資訊。
/Login.jsp(44,56) java.io.UTFDataFormatException。JSPG0287E: 無效位元組1的1位元組UTF-8序列。
根本原因。
com.ibm.ws.jsp.JspCoreException。/Login.jsp(44,56) java.io.UTFDataFormatException。JSPG0287E: 無效位元組1的1位元組UTF-8序列。
at com.ibm.ws.jsp.translator.document.Jsp2Dom.getJspDocumentAsJspPage(Jsp2Dom.java:529)。
at com.ibm.ws.jsp.translator.document.Jsp2Dom.getJspDocument(Jsp2Dom.java:196)
at com.ibm.ws.jsp.translator.JspTranslator.<init>(JspTranslator.java:73)
at com.ibm.ws.jsp.translator.JspTranslatorFactory.createTranslator(JspTranslatorFactory.java:116)。
at com.ibm.ws.jsp.translator.utils.JspTranslatorUtil.translateJsp(JspTranslatorUtil.java:262)
at com.ibm.ws.jsp.translator.utils.JspTranslatorUtil.translateJspAndCompile(JspTranslatorUtil.java:123)
at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.translateJsp(AbstractJSPExtensionServletWrapper.java:560)
at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper._checkForTranslation(AbstractJSPExtensionServletWrapper.java:477)。
at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.checkForTranslation(AbstractJSPExtensionServletWrapper.java:298)
at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.handleRequest(AbstractJSPExtensionServletWrapper.java:167)。
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:136)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:97)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/315168.html
標籤:
上一篇:防止來自URL的跨站腳本攻擊

