Java刷题知识点之什么是JSP、JSP有哪些优点、JSP的9大内置对象、JSP的四大域对象、JSP的四种范围

简介:
https://www.nowcoder.com/ta/review-java/review?tpId=31&tqId=21175&query=&asc=true&order=&page=107

 

 

 

 

https://www.nowcoder.com/ta/review-java/review?query=&asc=true&order=&page=109

 

 

 

 

 

 

 

 

 

什么是JSP?

  JSP是由sun公司倡导,众多公司参与建立的动态网页技术标准,它在HTML中嵌入Java代码段(Scirptlet)和JSP标签,构成JSP网页,接收到用户请求时,服务器就会处理Java代码片段,将生成结果的 HTML页面返回给客户端。

  JSP 全称是 Java Server Pages ,它和 servle 技术一样,都是 SUN 公司定义的一种用于开发动态 web 资源的技术。 JSP 实际上就是 Servlet 。(jsp = html + java)

  html: 静态内容

  servlet :服务器端的小应用程序。适合编写 java 逻辑代码,如果编写网页内容 -- 苦逼。

  jsp: 适合编写输出动态内容,但不适合编写 java 逻辑。

  JSP页面是一种包含了静态数据和JSP元素两种类型的文本的文本文档。静态数据可以用任何基于文本的格式来表示,比如:HTML或者XML。JSP是一种混合了静态内容和动态产生的内容的技术。

  jsp是java开发的专门用于动态显示页面的技术。jsp编译时,会首先编译成servlet文件,然后编译成class文件。

 

 

 

 

 

 

JSP有哪些优点

   下面列出了使用JSP的优点:
JSP页面是被动态编译成Servlet的,因此,开发者可以很容易的更新展现代码。
JSP页面可以被预编译。
JSP页面可以很容易的和静态模板结合,包括:HTML或者XML,也可以很容易的和产生动态内容的代码结合起来。
开发者可以提供让页面设计者以类XML格式来访问的自定义的JSP标签库。
开发者可以在组件层做逻辑上的改变,而不需要编辑单独使用了应用层逻辑的页面。

 

  在引入JSP之前,在Web应用程序中,所有业务逻辑和HTML的响应都是在Servlet中实现的,但在这种方式时,存在一个比较大的缺陷:必须把给用户响应的视图组装成一个很长的HTML格式的字符串写入println()方法中。所以,使用这种方式编程,在编写一段很长的HTML字符串时非常容易出错,而且代码的可读性也非常差。

  JSP的引入在一定程度上解决了Servlet存在的缺点。其实理念就是让每个Servlet只负责其对应的业务逻辑的处理,让JSP来负责用户的HTML显示,因此实现了业务逻辑与视图实现的分离,从而极大地提高了系统的可扩展性。

 

 

 

 

 

JSP的9大内置对象

  在JSP中,内置对象又称为隐含对象。
包含9大内置对象:response、request、exception、out、application、pagecontext、config、session、page。

 

  根据JSP的9大内置对象的作用的不同,可以将它们分为4类:  

    第一类,与Serverlet有关的page和config;

    第二类,与Input/Output有关的out,request和response;

    第三类,与Context有关的application,session和pageContext;

    第四类,与Error有关的exception;

 

 

 

 

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 对象几乎定义了所有异常情况。

     如果在JSP页面中出现没有捕获到的异常,就会生成 exception 对象,并把 exception 对象传送到在page指令中设定的错误页面中,然后在错误页面中处理相应的 exception 对象。

 

 

 

 

 

JSP的四大域对象

  有四个域对象:request、pagecontext、session、application

 

 

 



本文转自大数据躺过的坑博客园博客,原文链接:http://www.cnblogs.com/zlslch/p/7418338.html,如需转载请自行联系原作者

相关文章
|
3月前
|
设计模式 网络协议 数据可视化
Java 设计模式之状态模式:让对象的行为随状态优雅变化
状态模式通过封装对象的状态,使行为随状态变化而改变。以订单为例,将待支付、已支付等状态独立成类,消除冗长条件判断,提升代码可维护性与扩展性,适用于状态多、转换复杂的场景。
408 0
|
6月前
|
Java 数据库连接 数据库
Java 相关知识点总结含基础语法进阶技巧及面试重点知识
本文全面总结了Java核心知识点,涵盖基础语法、面向对象、集合框架、并发编程、网络编程及主流框架如Spring生态、MyBatis等,结合JVM原理与性能优化技巧,并通过一个学生信息管理系统的实战案例,帮助你快速掌握Java开发技能,适合Java学习与面试准备。
319 2
Java 相关知识点总结含基础语法进阶技巧及面试重点知识
|
5月前
|
缓存 安全 Java
Java反射机制:动态操作类与对象
Java反射机制是运行时动态操作类与对象的强大工具,支持获取类信息、动态创建实例、调用方法、访问字段等。它在框架开发、依赖注入、动态代理等方面有广泛应用,但也存在性能开销和安全风险。本文详解反射核心API、实战案例及性能优化策略,助你掌握Java动态编程精髓。
|
5月前
|
存储 人工智能 JavaScript
Java从作用域到对象高级应用​
本内容详细讲解了JavaScript中的作用域类型(函数作用域、块作用域、全局作用域)、作用域链、垃圾回收机制、闭包、变量提升、函数参数、数组方法、内置构造函数、对象高级知识、原型链、对象赋值、深浅拷贝、递归、异常处理及this指向等内容,全面覆盖JS核心概念与编程技巧。
72 0
|
6月前
|
存储 缓存 安全
Java基础 - 知识点
Java基础知识点涵盖语言特性、面向对象与基本数据类型、缓存池机制、String类特性、参数传递、类型转换、继承、抽象类与接口区别、重写与重载、Object通用方法及关键字使用等核心内容,是掌握Java编程的重要基石。
122 0
|
6月前
|
存储 Java
Java对象的内存布局
在HotSpot虚拟机中,Java对象的内存布局分为三部分:对象头(Header)、实例数据(Instance Data)和对齐填充(Padding)。对象头包含Mark Word、Class对象指针及数组长度;实例数据存储对象的实际字段内容;对齐填充用于确保对象大小为8字节的整数倍。
139 0
|
6月前
|
缓存 安全 前端开发
Java 核心知识点与实战应用解析
我梳理的这些内容涵盖了 Java 众多核心知识点。包括 final 关键字的作用(修饰类、方法、变量的特性);重载与重写的区别;反射机制的定义、优缺点及项目中的应用(如结合自定义注解处理数据、框架底层实现)。 还涉及 String、StringBuffer、StringBuilder 的差异;常见集合类及线程安全类,ArrayList 与 LinkedList 的区别;HashMap 的实现原理、put 流程、扩容机制,以及 ConcurrentHashMap 的底层实现。 线程相关知识中,创建线程的四种方式,Runnable 与 Callable 的区别,加锁方式(synchronize
131 0
|
Java 容器
【学习笔记】Jsp与Servlet技术
【学习笔记】Jsp与Servlet技术
323 0
|
SQL Java 数据库
jsp中使用Servlet查询SQLSERVER数据库中的表的信息,并且打印在屏幕上
该博客文章介绍了在JSP应用中使用Servlet查询SQL Server数据库的表信息,并通过JavaBean封装图书信息,将查询结果展示在Web页面上的方法。
jsp中使用Servlet查询SQLSERVER数据库中的表的信息,并且打印在屏幕上