【JSP进阶】JSP九大内置对象,这你也不知道?
前言
之前我们已经学习了JSP的基础了,今天我们继续来学习JSP九大内置对象,这也是JSP的重点部分,同时也是面试的重点,大家在看完之后一定要自己动手练习。同时JSP基础不知道的可以去看往期内容在回来继续。
传送门:【JSP入门】只知道HTML却不知道JSP?
接下来正式来学习JSP九大内置对象吧!
目录
- 前言
- 初识内置对象
- 深析九大内置对象
- JSP案例演示
- 获取其他内置对象
- 结语
初识内置对象
所谓内置对象就是在JSP中无需创建就可以直接使用的九个对象
这九大内置对象分别是:
(1)
out(JspWriter)
:等同与response.getWriter(),用来向客户端发送文本数据;
(2)config(ServletConfig)
:对应“真身”中的ServletConfig;
(3)page(当前JSP的真身类型)
:当前JSP页面的“this”,即当前对象;
(4)pageContext(PageContext)
:页面上下文对象,它是最后一个没讲的域对象;
(5)exception(Throwable)
:只有在错误页面中可以使用这个对象;
(6)request(HttpServletRequest)
:即HttpServletRequest类的对象;
(7)response(HttpServletResponse)
:即HttpServletResponse类的对象;
(8)application(ServletContext)
:即ServletContext类的对象;
(9)session(HttpSession)
:即HttpSession类的对象,不是每个JSP页面中都可以使用,如果在某个JSP页面中设置<%@pagesession=”false”%>
,说明这个页面不能使用session。
虽然内置对象是重点,但是不是所有的内置对象都很常用。
基本不会使用的内置对象:config
、page
、exception
。
有两个对象不是每个JSP页面都可以使用的:exception
、session
。
深析九大内置对象
1、request对象
request 对象是 javax.servlet.httpServletRequest
类型的对象。 该对象代表了客户端的请求信息,主要用于接受通过HTTP协议传送到服务器的数据。(包括头信息、系统信息、请求方式以及请求参数等)。request对象的作用域为一次请求。
2、response对象
response 代表的是对客户端的响应,主要是将JSP容器处理过的对象传回到客户端。response对象也具有作用域,它只在JSP页面内有效。
3、session对象
session 对象是由服务器自动创建的与用户请求相关的对象。服务器为每个用户都生成一个session对象,用于保存该用户的信息,跟踪用户的操作状态。session对象内部使用Map类来保存数据,因此保存数据的格式为 "Key/value"
。 session对象的value可以使复杂的对象类型,而不仅仅局限于字符串类型。
4、application对象
application 对象可将信息保存在服务器中,直到服务器关闭,否则application对象中保存的信息会在整个应用中都有效。与session对象相比,application对象生命周期更长,类似于系统的“全局变量”。
5、out 对象
out 对象用于在Web浏览器内输出信息,并且管理应用服务器上的输出缓冲区。在使用 out 对象输出数据时,可以对数据缓冲区进行操作,及时清除缓冲区中的残余数据,为其他的输出让出缓冲空间。待数据输出完毕后,要及时关闭输出流。
6、pageContext 对象
pageContext 对象的作用是取得任何范围的参数,通过它可以获取 JSP页面的out、request、reponse、session、application 等对象。pageContext对象的创建和初始化都是由容器来完成的,在JSP页面中可以直接使用pageContext对象。
7、config 对象
config 对象的主要作用是取得服务器的配置信息。通过 pageConext对象的 getServletConfig() 方法可以获取一个config对象。当一个Servlet 初始化时,容器把某些信息通过 config对象传递给这个 Servlet。 开发者可以在web.xml 文件中为应用程序环境中的Servlet程序和JSP页面提供初始化参数。
8、page 对象
page 对象代表JSP本身,只有在JSP页面内才是合法的。 page隐含对象本质上包含当前 Servlet接口引用的变量,类似于Java编程中的 this 指针。
9、exception 对象
exception 对象的作用是显示异常信息,只有在包含 isErrorPage="true"
的页面中才可以被使用,在一般的JSP页面中使用该对象将无法编译JSP文件。excepation对象和Java的所有对象一样,都具有系统提供的继承结构。exception 对象几乎定义了所有异常情况。
在Java程序中,可以使用try/catch
关键字来处理异常情况; 如果在JSP页面中出现没有捕获到的异常,就会生成 exception 对象,并把 exception 对象传送到在page指令中设定的错误页面中,然后在错误页面中处理相应的 exception 对象。
JSP九大内置对象分为四类:
(1)输入输出对象:
out
对象、response
对象、request
对象
(2)通信控制对象:pageContext
对象、session
对象、application
对象
(3)Servlet对象:page
对象、config
对象
(4)错误处理对象:exception
对象
JSP案例演示
老规矩我们写一个简单的JSP来演示一下常用的内置对象的用法。
<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
<body><%String url = request.getRequestURL().toString();//HttpServletRequest对象response.getWriter().println(url);//HttpServletResponse对象%><%out.println("<br>ABCCC");//等同于response.getWriter()session.setAttribute("user", "张三");//HttpSession类的对象out.println((String)session.getAttribute("user"));%><%String cp = application.getInitParameter("copyright");//ServletContextout.println("<hr/>");out.println(cp);%><%//通过使用pageContext获取其他对象pageContext.getRequest();pageContext.getResponse();pageContext.getSession();pageContext.getServletContext();%>
</body>
</html>
输出页面:
根据输出的页面钻研一下对应关系。
JSP四大域:
Servlet中有三大域,而JSP中有四大域:
ServletContext
:整个应用程序。
session
:整个会话(一个会话中只有一个用户)。
request
:一个请求链。
pageContext
:一个jsp页面,这个域是在当前jsp页面和当前jsp页面中使用的标签之间共享数据。
其有效期分别为:
(1)
application(ServletContext)
:在整个服务器上保存,所有用户都可使用。 重启服务器后无效。
(2)session
:再一次会话中有效。服务器跳转、客户端跳转都有效。 网页关闭重新打开无效。
(3)request
:只在一次请求中有效,服务器跳转之后有效。 客户端跳无效。
(4)page(pageContext)
:只在一个页面中保存属性。 跳转之后无效。
获取其他内置对象
一个pageContext对象等于所有内置对象,即1个当9个。这是因为可以使用pageContext对象获取其它8个内置对象:
(1)
JspWriter getOut()
:获取out内置对象;
(2)ServletConfig getServletConfig()
:获取config内置对象;
(3)Object getPage()
:获取page内置对象;
(4)ServletRequest getRequest()
:获取request内置对象;
(5)ServletResponse getResponse()
:获取response内置对象;
(6)HttpSession getSession()
:获取session内置对象;
(7)ServletContext getServletContext()
:获取application内置对象;
(8)Exception getException()
:获取exception内置对象;
结语
这就是今天的内容了,比较简短,但是比较重要。看完后记得多动手练习哈。
持续更新中…
【JSP进阶】JSP九大内置对象,这你也不知道?相关推荐
- JSP运行原理 九大内置对象 四大作用域
Jsp的简介 jsp的全称是java server pages 意思为java的服务页面 jsp必须运行在服务器,不能脱离服务器单独运行 jsp是可以写java代码的html jsp的本质就是一个se ...
- 相对地址与绝对地址的区别?请求重定向与请求转发的区别?jsp有哪九大内置对象?servlet如何获取session和application对象?
目录 1.说说相对地址与绝对地址的区别? 2.说说请求重定向与请求转发的区别? 3.jsp有哪九大内置对象?servlet如何获取session和application对象? 1.说说相对地址与绝对地 ...
- jsp中的九大内置对象与四大域对象
什么是内置对象? 在jsp中已经创建好的对象名,而这些对象无需自己在实例化.通过该对象名可以调用相应的类方法. 九大内置对象 1. out对象---作用:用来输出信息到浏览器.常见的方法: print ...
- Java Web(五) JSP详解(四大作用域九大内置对象等)
前面讲解了Servlet,了解了Servlet的继承结构,生命周期等,并且在其中的ServletConfig和ServletContext对象有了一些比较详细的了解,但是我们会发现在Servlet中编 ...
- JSP九大内置对象...
原文地址:http://blog.sina.com.cn/s/blog_6267d71d0100pryr.html JSP九大内置对象: 1.Request, 2.Response,3.Out,4.S ...
- 【Spring】JSP 九大内置对象、作用域复习
博客: 总结 JSP的四大域对象.Servlet的四个作用域: pageContext.request.session.application JSP 九大内置对象和四大作用域复习 名称 类型 含义 ...
- JSP四大域对象与九大内置对象
域对象的作用:保存数据,获取数据,共享数据. page:jsp页面被执行,生命周期开始,jsp页面执行完毕,生命周期结束(jsp当前页面有效) request:用户发送一个请求,生命周期开始,服务器返 ...
- JSP的四大作用域和九大内置对象
JSP的四大作用域和九大内置对象 https://wenku.baidu.com/view/a0974190152ded630b1c59eef8c75fbfc77d949d?ivk_sa=102319 ...
- 面试之JSP九大内置对象和JSP四大作用域
jsp 九大内置对象和其作用详解 JSP中一共预先定义了9个这样的对象,分别为:request.response.session.application.out.pagecontext.config. ...
- JSP的三六九四七(三大指令、六大标签、九大内置对象、四大作用域、七个动作指令)
JSP的基本构成:HTML文件+Java片断+JSP标签 三大指令:page指令.include指令.taglib指令. page指令: 1.language属性:设置当前页面中编写JSP脚本使用的语 ...
最新文章
- 【java设计模式之Command(菜单命令) 】
- linux的initrd.img的解压和打包
- python中valueerror是什_Python:ValueError和Exception的区别?
- Aptana Studio 3 如何汉化,实现简体中文版
- 7-1 特殊a串数列求和 (20 分)
- cloc统计代码行数
- python解决八数码问题_python八数码
- 谷歌浏览器访问端口限制
- 单核性能强的服务器cpu,单核能力最强的cpu是哪个?
- 如何将腾讯视频下载的qlv文件导入PR中编辑
- ubuntu16.04笔记本查看电脑配置(CPU,显卡,内存,硬盘)
- 一些常用的电脑词汇解释
- 根据表格背景色统计表格数量
- JS 保留两位小数,不足用0补齐
- 彻底摒弃流量主导的发展模式 才能真正让电商走出流量的怪圈
- 【CV】对比学习经典之作 SimLR 论文笔记
- mathtype7 正版官网 宣布免费使用
- cass里填充面怎么导入arcgis_ArcGIS与CASS在地籍建库中的结合应用视频课程(GIS思维)...
- Benchmark 性能测试简介
- 如何开始一个vue项目