首页 > 其他分享 >jsp的九大内置对象定义及其作用

jsp的九大内置对象定义及其作用

时间:2023-02-14 20:23:13浏览次数:48  
标签:内置 对象 缓存 九大 session jsp servlet 页面

1.什么叫做内置对象?

答:在jsp中,有一些对象即开发者不需要自己去创建对象(全部由系统创建好),就可以直接使用对象调用相应的方法,这些由系统创建的对象称为内置对象。

2.九大内置对象分别是哪些?

内置对象名 类型 对象名 作用域

四大作用域对象:

request javax.servlet.http.HttpServletRequest 请求对象 Request

session javax.servlet.http.HttpSession 会话对象 Session

application javax.servlet.ServletContext 应用程序对象 Application

pageContext javax.servlet.jsp.PageContext 页面上下文对象 Page

两个输出  

out javax.servlet.jsp.JspWriter 输出对象 Page

response javax.servlet.http.HttpServletResponse 响应对象 Page

三个打酱油

page java.lang.Object 页面对象 Page

config javax.servlet.ServletConfig 配置对象 Page

exception java.lang.Throwable 例外对象 Page

对作用域的解释:

Page域:只能在当前jsp页面使用(当前页面)。

Request域:只能在同一请求中使用(转发)。

Session域:只能在同一会话(session会话)中使用(私有的)。

Context(Application)域:只能在一个web应用中使用(全局)。

3.一一解析各个内置对象      

3.1 request 对象

该对象代表客户端的请求信息,主要用于接收通过HTTP协议传送到服务器的数据(包括请求头信息,系统信息,请求方法以及请求参数等)。request对象的作用域为一次请求。

3.1.1 常用方法:

getParameter(String name) :返回指定参数名称的数值,如果没有相对应的数值则返回null。

getParameterValues(String name):返回具有相同参数名称的数值的集合,返回String类型的数组。

getRequestDispatcher(String uripath):页面的转发,地址不会发生改变,因为针对客户端来说只发送一次请求。

3.2 session 对象  

session对象是由服务器自动创建的与用户请求相关的对象。服务器为每个用户都生成一个session对象,用于保存该用户的信息,跟踪用户的操作状态。session对象内部使用Map类来保存数据的,因此保存数据的格式为“key/value”。

session对象的value可以使用复杂的对象类型,不仅仅局限于字符串类型。

3.2.1 session对象就做会话:即每次浏览器访问网站,服务器就会给这个请求创建一个会话,存储到服务器端,服务器根据每一个会话的ID区别每一个请求的用户。

3.2.2 常用方法:

setAttribute(String key,Object obj):以key/value形式保存数据。

getAttribute(String key:通过key获取数据。

getId:获取session id。

invalidate():设置session对象失效。

setMaxInactiveInterval(int interval):设置session对象的有效期。

removeAttribute(String key):移除session中的属性。

3.2.3 Session过期时间的三种设置方式:

a. 在tomcat服务器的web.xml文件中进行设置,tomcat默认时间为30分钟。

web.xml文件在conf文件夹下,具体设置如下:(单位为分钟)

30

b. 在项目中的web.xml文件中进行设置:

设置方法如a,优先顺序b>a,也就是说b设置了,a就无效了。

c. 在代码中设置:通过setMaxInactiveInterval()方法设置。

3.2.4 session 的销毁

a. 设置的时长到了以后自动销毁,常见的情况就是你在一个页面长时间不进行操作就要重新登录。

b. 调用invalidate()方法摧毁,常见的情况是注销登录。

3.2.5 注意事项

Session的存储类型可以是任意类型。存储位置在服务器端,安全性比较高。

在同一台电脑中,不同的浏览器也认为是不同的用户,也会分配一个session id。

session也会随着浏览器的关闭而失效。但请注意,session还会保留在服务器端,一直到设定的时间,才真正的被销毁。

3.3 application对象

application对象可以将信息保存在服务器中,知道服务器关闭,否则application对象中保存的信息会在整个应用中都有效。与session对象相比,application对象的生命周期更长,类似于系统的“全局变量”。

整个应用程序中只有一个,所有的用户都可以访问到,安全性较高。随应用程序启动就产生,一直保存在服务器端,通常用于存储一些所有用户都需要的数据。

3.4 pageContext 对象

pageContext对象的作用是取得任何范围的参数,通过它可以获取jsp页面的out,request,response,session,application等对象。pageContext对象的创建和初始化都是由容器来完成的,在jsp页面中可以直接使用pageContext对象。

3.4.1 使用场景:在自定义标签时会频繁的使用pageContext对象;或者是定义一个方法需要用到多个对象时,传一个pageContext对象

就能解决问题。

3.5 out对象

out对象用于在web浏览器内输出信息,并管理应用服务器上的输出缓存区。在使用out对象输出数据时,可以对数据缓存区进行操作,及时清理缓存区中的残余数据,为其他的输出让出缓存空间。待数据输出完毕后,要及时关闭输出流。

PrintWriter:writer("内容"); 直接向浏览器输出内容

JspWriter:writer("内容"); 向jsp缓存区写出内容

JspWriter当满足一下条件之一时,缓存区的内容写出:

a. 缓存区满了

b. 刷新缓存区

c. 关闭缓存区

d. jsp页面执行完毕

3.6 response 对象

response对象代表对客户端的响应,主要是将jsp容器处理过对象传回到客户端。response对象也有作用域,它只是在jsp页面内有效。

Response对象叫做响应,服务器端对客户端的请求作出响应。

常用方法:

response.sendRedirect ("index.jsp");

页面的重定向,地址会改变,因为针对客户端来说,一共发生了两次请求。  

3.7 page 对象

page对象代表jsp本身,只有在jsp页面内才合法。page隐含对象本质上包含当前servlet接口引用的变量,类似于Java编程中的this指针。

3.8 config 对象

confige对象的主要作用于取得服务器的配置信息。通过pageContext对象的getServletConfig()方法可以获取一个

config对象。当一个Servlet初始化时,容器把某些信息通过config对象传达给这个servlet。开发者可以在web.xml文件中为应用程序环境中的servlet程序和jsp页面提供初始化参数。

3.9 exception 对象

exception对象的作用是显示异常信息,只有在包含isErrorPage="true"的页面中才可以使用的,一般的jsp页面中使用该对象将无法编译jsp文件。exception对象和Java的所有对象一样,都具有系统提供的继承结构。exception对象几乎定义了所有异常情况。在Java程序中,可以使用try/catch关键字来处理异常情况;如果在jsp页面中出现没有捕获到的异常,就会生成exception对象,并把exception对象传送到page指令中设定的错误页面中,然后在错误的页面中处理相应的exception对象。

标签:内置,对象,缓存,九大,session,jsp,servlet,页面
From: https://www.cnblogs.com/1549983239yifeng/p/17120781.html

相关文章

  • JSP上传大文件的三种解决方案
    ​ 在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现。先说下要求:PC端全平台支持,要求支持Windows,Mac,Linux......
  • [JavaScript]内置对象Number初识
    学习:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/NumberNumber类型可以表示整型和浮点型。123===123.0;//trueNumber......
  • JSP内置对象
    4.JSP隐式对象4.1什么是隐式对象:在jsp页面里面,jsp提供了一些对象,不用咱们自己创建,可以直接使用的对象jsp常见的九大隐式对象:request:HttpServletRequest,请求对象,它同时也......
  • Jsp中使用pageContext.setAttribute()
    起因:在学习Jsp数据流转中,发现找不到pageContext的setAttribute()方法。解决方案:在项目中导入js-api.jar即可,此jar在tomcat的安装目录/lib目录下可找到。 ......
  • springboot内置的数据源,持久化技术和数据库管理工具
    我们之前用的是Druid,mybatis,mysql:   现在看看springboot内置的数据源:   内置的持久化技术jdbcTemplate:   使用这个jdbcTemplate需要导入jar包:  ......
  • SpringMVC源码(三):九大内置组件初始化
    在源码(二):MVC容器启动的分析中,MVC容器刷新完成后,通过发布事件及事件监听处理器来初始化MVC的九大组件,下面来分析下这九大组件初始化的细节。概览初始化MVC组件,D......
  • 768~769 MVC_jsp演变历史,MVC详解
    MVC:开发模式jsp演变历史1.早期只有servlet,只能使用response输出标签数据,非常麻烦2.后来又jsp,简化了Servlet的开发,如果过度使用jsp,在jsp中即写大......
  • 766~767 JSP注解,内置对象
    注释:1.html注释:<!---->:只能注释html代码片段2.jsp注释:推荐使用<%----%>:可以注释所有<!--<h1>hello</h1>--><%--<%......
  • Java8新特性3-Lambda-内置功能性函数式接口
    比较典型的几个Java8的内置功能性函数式接口在java.util.function包下,主要有四大核心的内置功能型函数式接口:谓词(Predicate)函数(Function)生产者(Supplier)消费者(Cons......
  • 763~765 JSP指令,概述,page指令
    Jsp:他是一个特殊的页面不仅可以写java代码也可以写HTML1.指令作用用于配置Jsp页面,导入资源文件格式:多个属性值中间空格隔开<%@指令......