當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
JSP的9个内置对象-response
生活随笔
收集整理的這篇文章主要介紹了
JSP的9个内置对象-response
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
response代表服務器對客戶端的響應。大部分時候,程序無須使用response來響應客戶端請求,因為有個更簡單的響應對象-out。它是頁面輸出流,是JstWriter的實例。JspWriter是Writer的子類,Writer是字符流,無法輸出非字符內容-即無法輸出字節流。
運行頁面AddCookie.jsp之后60s內運行GetCookie.jsp,可以得到剛才在客戶端寫入的cookie。結果如下:
假如需要在JSP頁面中動態生成一幅位圖,使用out作為響應將無法完成,此時必須使用response作為響應輸出。
1.response響應生成圖片
image.jsp在客戶端生成一張圖片。其源代碼如下:
<%@ page import="java.awt.image.*, javax.imageio.*, java.io.*, java.awt.*" %> <% //創建BufferedImage對象 BufferedImage image=new BufferedImage(400,400,BufferedImage.TYPE_INT_RGB); //以Image對象獲取Graphics對象 Graphics g=image.getGraphics(); //使用Graphics畫圖,所畫的圖像將會出現在image對象中 g.fillRect(0,0,400,400); //設置顏色:紅 g.setColor(new Color(255,0,0)); //畫出一段弧 g.fillArc(20,20,100,100,30,120); //設置顏色綠 g.setColor(new Color(0,255,0)); g.fillArc(20,20,100,100,150,120); //設置顏色藍 g.setColor(new Color(0,0,255)); g.fillArc(20,20,100,100,270,120); //設置顏色黑 g.setColor(new Color(0,0,0)); //畫出3個字符串 g.drawString("red:climb",300,80); g.drawString("green:swim",300,120); g.drawString("blue:jump",300,160); g.dispose(); //將圖像輸出到頁面響應 ImageIO.write(image,"bmp",response.getOutputStream()); %> 在頁面image2.jsp中顯示image.jsp生成的圖片。image2.jsp的源代碼如下: <%@ page contentType="text/html; charset=gb2312" language="java" %> <!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0 Transitional//EN”> <HTML> <BODY> <img src="image.jsp"> <BODY> <HTML> 其運行結果截圖如下:
2.重定向
重定向是response的另外一個用處,與forward不同的是,重定向會丟失所有的請求參數及請求屬性。
3.增加cookie
Cookie通常用于網站記錄客戶的某些信息,比如客戶的用戶名及客戶的喜好等。
Cookie與session的不同之處在于:session關閉瀏覽器后就失效,但Cookie會一直存放在客戶端機器上,直到超出Cookie的生命期限。
response提供了一個方法增加cookie:
void addCookie(Cookie cookie)
增加cookie的步驟如下:
(1)創建cookie實例;
(2)設置cookie的生命期限;
(3)向客戶端寫cookie。
頁面AddCookie.jsp向客戶端寫一個username的cookie。其代碼如下:
通過request對象的getCookies()方法來訪問Cookie,該方法將返回Cookie的數組,遍歷數組的每個元素,找出希望訪問的Cookie即可。頁面GetCookie.jsp負責訪問Cookie,其源代碼如下:
<%@ page contentType="text/html; charset=gb2312" language="java" %> <!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0 Transitional//EN”> <HTML> <BODY> <% //獲取本站在客戶端上保留的所有Cookie Cookie[] cookies=request.getCookies(); //遍歷客戶端上的每個Cookie for(Cookie c:cookies) {//如果Cookie的名為username,表明該Cookie是我們需要訪問的Cookieif(c.getName().equals("username"))out.println(c.getValue()); } %> <BODY> <HTML>運行頁面AddCookie.jsp之后60s內運行GetCookie.jsp,可以得到剛才在客戶端寫入的cookie。結果如下:
總結
以上是生活随笔為你收集整理的JSP的9个内置对象-response的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中华黑豹增强版木马分析
- 下一篇: 全源最短路径之弗洛伊德算法(C语言)