JSP内置对象

本文详细介绍了JSP中的8种内置对象,包括out(输出管理)、request(客户端请求处理)、response(响应发送)、session(会话数据)、application(应用环境)、exception(错误处理)、page和pageContext,以及它们各自的方法和用途。此外,还涵盖了Cookie的使用和session对象的跨页面数据保持特性。
摘要由CSDN通过智能技术生成

JSP内置对象

内置对象 -》 JSP页面内不需要定义就可以直接使用的对象

内置对象特点

  1. 自动载入,
  2. 通过Web容器实现和管理
  3. 所有JSP页面,都可以直接调用内置对象

8种内置对象

       out -》 管理对客户端输出

       request -》 得到客户端请求信息

       response -》 向客户端发送响应

       session -》 保存同一客户端一次会话过程一些信息

       application -》 表示整个应用的环境信息

       exception -》 页面发生异常,获得页面异常信息

       page -》 当你去哪JSP页面本身,和Java中this一样

       pageContext -》 此JSP上下文

       config -》 此JSP的ServletConfig

out对象

用来向客户端输出各种数据类型内容

对应用服务器输出缓冲区进行管理

常见方法

out.print()或out.println()通过浏览器看代码换行,页面内容不换行

out.close()关闭输出流,强制终止页面剩余部分输出

out.clearBuffer() 清除缓冲区数据,把数据写到客户端

out.clear() 清楚缓冲区数据,但不把数据写到客户端

out.getRemaining() 获取缓冲区没有被占用空间大小,返回int类型

out.flush() 输出缓冲区数据,之后再清除数据

out.getBufferSize() 获取缓冲区大小

out管理缓冲区较少

request对象

代表客户端请求信息

主要获取客户端参数和流

常用方法(返回值全是String类型)

request.getMethod() 获得提交方式

request.gerRequestURI() 获得请求URL地址

URI -》 Uniform Resource Identifier

被定义为web上每一种可用的资源的唯一标识,如HTML文档、图像、视频片段等。

URL -》 Uniform Resource Locator

视为URI子集,标识资源,还提供一种通过描述资源的主要访问机制来定位资源的方法

URL是一个完整的链接,它不仅提供了定位资源的位置信息,还包含了访问该资源所需的方法和协议。

URI只标识了资源本身,而不包含任何关于如何访问该资源的信息。

request.getProtocol() 获取协议名称

request.gerServletPath() 获取客户端请求服务器文件的路径

request.getQueryString() 获取URL的查询部分(在get请求下)

request.getServerName() 获取服务器名称

request.getServerPort() 获取服务器端口号

request.getRemoteAddr() 获取客户端IP地址

获取客户端参数方法(返回String类型)

request.getParameter(name)

request.getParameterValues(name)

response对象

response客户端的响应,request客户端的请求

转发原理

重定向原理

执行转发时,服务器直接将新的URL中的资源返回给浏览器,转发时地址(URL)不变

执行重定向时,浏览器会显示新的重定向地址,即地址栏中的URL会发生变化

执行转发时,目标页面能够共享request域数据

执行重定向,不能共享request域数据

执行转发,只能在同一个Web应用程序内的资源间转发

执行重定向,还可以重定向到其他站点资源(例如baidu.com)

常用方法

response.sendRedirect(“目标URL”) 重定向

<jsp:forward page=”目标URL”> </jsp:forward> 转发

以下三个表示浏览器不保存页面副本

response.setHeader(“Pragma”,”No-cache”)

response.setHeader(“Cache-Control”,”no-cache”)

response.setDateHeader(“Expirex”,”0”)

response.setHeader(“Refresh”,”5”) 浏览器每隔5秒刷新一次

Cookie对象

导入javax.servlet.http.Cookie和java.net.URLDecoder这两个包。

HTTP是无状态协议,页面间传递必须通过服务器(URL传值、隐藏表单)

这里有另一种方法——Cookie

Cookie是小的文本数据,服务器端生成,发送给客户端

若浏览器启用Cookie,则该文本文件会保存在某个目录下

再次访问网页时,浏览器会读取Cookie传送给服务器

服务器-》发送cookie给浏览器

浏览器à保存cookie文件

浏览器-》发送cookie给服务器

Cookie中以key-value形式表达

常用方法

response.addCookie(Cookie C) 将Cookie写入客户端

Cookie.setMaxAge(int second) 设置cookie存活时间,秒

request.getCookies() 读取客户端传递的Cookie,返回值类型Cookie[ ]

将Cookie写入客户端

<%

    int num=12;

    Cookie cookie = new Cookie("number",num);

    cookie.setMaxAge(600);

    response.addCookie(cookie);

%>

客户端读取Cookie

<%

    String str=null;

    Cookie[] cookies = request.getCookies();

    for(int i=0;i<cookies.length;i++){

        if(cookies[i].getName.equals("number")){

            str=cookies[i].getValue();

            break;

        }

    }

%>

session对象

跨页面保持数据

访问页面时,服务器给每一个用户分配一个session对象

常用方法

session.setAttribute(String name,Object obj) 前面是名字,后面是存入的对象,无返回值

若两次存入同一个名字,则会覆盖

session.getAttribute(“name”) 通过名字获取对象,返回Object类型,必须强制类型转换

session.removeAttribute(“name”) 移除内容

session.invalidate() 移除所有内容

session.getId() 获取当前session在服务器中ID,返回值String类型

application对象

对于不同用户,application对象是相同的

直到服务器关闭为止,其数据对所有用户相同

常用方法

application.setAttribute(String name , Object obj) 存入数据

application.getAttribute(“name”) 取出数据

application.removeAttribute(“name”) 删除数据

  • 21
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值