日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JSP的9个内置对象-response

發布時間:2025/3/15 javascript 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JSP的9个内置对象-response 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

response代表服務器對客戶端的響應。大部分時候,程序無須使用response來響應客戶端請求,因為有個更簡單的響應對象-out。它是頁面輸出流,是JstWriter的實例。JspWriter是Writer的子類,Writer是字符流,無法輸出非字符內容-即無法輸出字節流。

假如需要在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。其代碼如下:

<%@ page contentType="text/html; charset=gb2312" language="java" %> <!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0 Transitional//EN”> <HTML> <BODY> <% //獲取請求參數 String name=request.getParameter("name"); //以獲取到的請求參數為值,創建一個cookie對象 Cookie c=new Cookie("username",name); //設置cookie對象的生存期限為60s c.setMaxAge(60); //向客戶端增加cookie對象 response.addCookie(c); %> <BODY> <HTML> 如果瀏覽器沒有阻止cookie,在地址欄輸入http://localhost:8080/Me/AddCookie.jsp?name=christy?,執行該頁面后,網站已經將客戶端的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的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。