程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> JSP九大隱式對象-----jsp實現圖片的下載

JSP九大隱式對象-----jsp實現圖片的下載

編輯:關於JSP

 

JSP九大隱式對象

request

response

config

application

exception

Session

page

out

pageContext

out隱式對象

out隱式對象用於向客戶端發送文本數據。

out對象是通過調用pageContext對象的getOut方法返回的,其作用和用法與ServletResponse.getWriter方法返回的PrintWriter對象非常相似。

JSP頁面中的out隱式對象的類型為JspWriter,JspWriter相當於一種帶緩存功能的PrintWriter,設置JSP頁面的page指令的buffer屬性可以調整它的緩存大小,甚至關閉它的緩存。

只有向out對象中寫入了內容,且滿足如下任何一個條件時,out對象才去調用ServletResponse.getWriter方法,並通過該方法返回的PrintWriter對象將out對象的緩沖區中的內容真正寫入到Servlet引擎提供的緩沖區中:

設置page指令的buffer屬性關閉了out對象的緩存功能

out對象的緩沖區已滿

整個JSP頁面結束

pageContext對象

pageContext對象是JSP技術中最重要的一個對象,它代表JSP頁面的運行環境,這個對象不僅封裝了對其它8大隱式對象的引用,它自身還是一個域對象,可以用來保存數據。並且,這個對象還封裝了web開發中經常涉及到的一些常用操作,例如引入和跳轉其它資源、檢索其它域對象中的屬性等。

下面來寫一個實例:用JSP實現文件下載

<%@page import="java.net.URLEncoder"%><%@page import="java.io.File"%><%@page import="java.io.InputStream"%><%@page import="java.io.FileInputStream"%><%@page import="java.io.OutputStream"%><%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%><%

       String path = getServletContext().getRealPath("./images/11.jpg");

       File file = new File(path);

       InputStream is = new FileInputStream(file);

       response.setHeader("content-disposition", "attachment;filename=" +URLEncoder.encode(file.getName(),"UTF-8"));

       OutputStream os = response.getOutputStream();

       byte b[] = new byte[1024];

       int flag = 0;

       while((flag = is.read(b))!=-1){

           os.write(b,0,flag);

       }

       os.close();

       is.close();

%>

應特別記住一點,絕對不能有空格

 

作者chenglong0513

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved