JSP入门——response对象(response对象的方法有哪些)
前言
大家好,我是程序猿小白 gw_Gw,很高兴能和大家一起学习进步。复制代码
以下内容部分来自于网络,如有侵权,请联系我删除,本文仅用于学习交流,不用作任何商业用途。
摘要
本文主要介绍JSP脚本中的9个内置对象中的response对象。复制代码
1. reponse对象
先前我们已经说了Web应用是请求和响应的架构,前面我们已经说了请求(request),本篇我们来说一说响应(response).
response是HttpServletResponse的实例,主要用于向客户端发送非字符文件(图片,音频等),重定向和增加Cookie。
1.1 向客户端发送非字符文件
通常我们会使用out对象来输出内容,但是对于非字符文件out对象就无能为力了。这时我们就要借助response对象。
response中有一个方法:ServletOutputStream getOutputStream()方法,该方法返回客户端的输出流对象。
实例展示:
<%@ page import="java.awt.image.BufferedImage" %> <%@ page import="java.awt.*" %> <%@ page import="javax.imageio.ImageIO" %> <%@ page contentType="image/png" language="java" pageEncoding="UTF-8" errorPage="ErrorHandlePage.jsp" %> <!DOCTYPE html> <html> <head> <title>JSP - Hello World</title> </head> <body> <% BufferedImage bufferedImage = new BufferedImage(340, 160, BufferedImage.TYPE_INT_RGB); Graphics graphics = bufferedImage.getGraphics(); graphics.fillRect(0,0,400,200); graphics.setColor(Color.BLUE); graphics.drawString("dsajfkhasjf",50,50); graphics.dispose(); ImageIO.write(bufferedImage,"png",response.getOutputStream()); %> </body> </html>复制代码
1.2 重定向
response对象还可以帮助我们进行重定向。
这里要区分重定向和转发的区别。
重定向:重新进行了一次请求,不能在获得上一个请求的所有内容,地址栏内的地址也会发生改变。
转发:转发并没有改变请求,可以获得仍能获得该请求的内容,地址栏内的地址也不会改变。
对于response来说,重定向使用sendRedirect()方法。
response.sendRedirect("1.jsp");复制代码
参数可以是一个网址也可是一个JSP页面。
1.3 增加Cookie
Cookie其实就是一个和网站相关的文本文件,这个文本文件很小,通常只有4K大小。里面可以用来存放用户的信息,以便网站能对用户提供更好的服务,例如10天免登录,浏览历史等等。
Cookie是有生存期限的,默认情况下Cookie只存在与浏览器的内存里,当关闭浏览器时Cookie就消失,但是我们可以通过设置Cookie的生存期来将Cookie保存到本地硬盘中。
添加Cookie的流程:
创建Cookie
设置Cookie的生命周期
向客户端添加Cookie
实例展示:
<% String userName = request.getParameter("name"); String userPassWord = request.getParameter("password"); Cookie cookie1 = new Cookie("userName", userName); Cookie cookie2 = new Cookie("userPassword", userPassWord); cookie1.setMaxAge(24*3600); cookie2.setMaxAge(24*3600); response.addCookie(cookie1); response.addCookie(cookie2); %>复制代码
setMaxAge的参数单位是秒。
但是需要注意的是:如果Cookie中含有中文,就要使用java.net.URLEncoder.encode()来进行编码,在获取的时候通过java.net.URLDecoder.decode()来进行解码。
小结
以上就是JSP九大内置对象中的response对象,希望对读者有所帮助。到此我们JSP的内容已经结束了,当然理论知识虽然我们已经学完了,但是更多的还是需要实践,一起加油吧!
伪原创工具 SEO网站优化 https://www.237it.com/
作者:gw_GW
链接:https://juejin.cn/post/7035989942857629733