首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >JavaWeb第三讲 JSP内置对象、基本动作指令、常见编译指令及四大作用域

JavaWeb第三讲 JSP内置对象、基本动作指令、常见编译指令及四大作用域

作者头像
易兮科技
发布于 2020-09-26 04:37:50
发布于 2020-09-26 04:37:50
4760
举报
文章被收录于专栏:CSDN博客专栏CSDN博客专栏

JSP内置对象、基本动作指令、常见编译指令及四大作用域

(一) JSP工作原理

当一个jsp页面第一次被访问的时候,jsp将执行以下三个步骤,之后的访问速度会因为class文件已经生成而大大提高,当jsp引擎发送一个客户端请求的时候,首先判断请求的jsp页面是否比对应生成的servlet文件,如果不同,对应的jsp需要重新编译。

  1. 将jsp页面翻译成servlet,这个servlet是一个java文件,同时也是一个完整的java程序。
  2. jsp引擎调用java编译器对这个servlet进行编译,得到可执行文件class。
  3. jsp引擎调用java虚拟机来解释执行class文件,生成向客户端发送的应答,然后发送给客户端。

(二) JSP内置对象

  1. request:负责得到客户端请求的信息,对应类型: javax.servlet.http.HttpServletRequest
  2. response:负责向客户端发出响应,对应类型:javax.servlet.http.HttpServletResponse
  3. session:负责保存同一客户端一次会话过程中的一些信息,对应类型:javax.servlet.http.httpsession
  4. out:负责管理对客户端的输出,对应类型:javax.serlvet.jsp.jspwriter
  5. application:表示整个应用环境的信息,对应类型:javax.servlet.servletcontext
  6. config:表示ServletConfig,对应类型:javax.servlet.servletconfig
  7. exception:表示页面中发生的异常,可以通过它获得页面异常信息,对应类型:java.lang.exception
  8. pagecontext:表示这个JSP页面上下文,对应类型:javax.servlet.jsp.pagecontext
  9. page:表示当前JSP页面本身。

(三) JSP基本动作指令

  1. jsp:include:在页面被请求的时候引入一个文件。
  2. jsp:useBean:寻找或者实例化一个JavaBean。
  3. jsp:setProperty:设置JavaBean的属性。
  4. jsp:getProperty:输出某个JavaBean的属性。
  5. jsp:forward:把请求转到一个新的页面。
  6. jsp:plugin:根据浏览器类型为Java插件生成OBJECT或EMBED标记

(四) JSP常见编译指令

  1. page指令:定义页面的一些属性。以下是最常见的三种常见属性:

a. contentType=“text/html;charset=utf-8”; 向浏览器端输出数据的编码

b. pageEncoding=“utf-8”; JSP编译成java文件时所用的编码

c. session=“true” 是否自动创建session

  1. include指令:引入一个静态的JSP页面
  2. taglib指令:引入一个标签库

(五) JSP四大作用域

JSP中的四种作用域包括page、request、session和application,具体来说:

  1. page里的变量,只要页面跳转了,它们就不见了。如果把变量放到pageContext里,就说明它的作用域是page,它的有效范围只在当前jsp页面里。从把变量放到pageContext开始,到jsp页面结束,你都可以使用这个变量。
  2. request里的变量可以跨越forward前后的两页。但是只要刷新页面,它们就重新计算了。如果把变量放到request里,就说明它的作用域是request,它的有效范围是当前请求周期。 所谓请求周期,就是指从http请求发起,到服务器处理结束,返回响应的整个过程。在这个过程中可能使用forward的方式跳转了多个jsp页面,在这些页面里你都可以使用这个变量。
  3. session和application里的变量一直在累加,开始还看不出区别,只要关闭浏览器,再次重启浏览器访问这页,session里的变量就重新计算了。 如果把变量放到session里,就说明它的作用域是session,它的有效范围是当前会话。 所谓当前会话,就是指从用户打开浏览器开始,到用户关闭浏览器这中间的过程。这个过程可能包含多个请求响应。也就是说,只要用户不关浏览器,服务器就有办法知道这些请求是一个人发起的,整个过程被称为一个会话(session),而放到会话中的变量,就可以在当前会话的所有请求里使用。
  4. application里的变量一直在累加,除非你重启tomcat,否则它会一直变大。如果把变量放到application里,就说明它的作用域是application,它的有效范围是整个应用。 整个应用是指从应用启动,到应用结束。我们没有说“从服务器启动,到服务器关闭”,是因为一个服务器可能部署多个应用,当然你关闭了服务器,就会把上面所有的应用都关闭了。 application作用域里的变量,它们的存活时间是最长的,如果不进行手工删除,它们就一直可以使用。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/08/12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
JavaWeb(三)JSP之3个指令、6个动作、9个内置对象和4大作用域
前言   前面大概介绍了什么是JSP,今天我给大家介绍一下JSP的三个指令、6个动作以及它的9大内置对象。接下来我们就直接进入正题 一、JSP的3个指令 JSP指令(directive)是为JSP引擎而设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理JSP页面中的其余部分。 指令用来申明JSP页面的一些属性,比如编码方式,文档类型。我们在servlet中也会申明我们使用的编码方式和响应的文档类型的,而JSP就是用指令来申明。上面我们也说到了一条指令,也就是page指令。 JSP指令格式:<%@
用户1195962
2018/01/18
1.7K0
JavaWeb(三)JSP之3个指令、6个动作、9个内置对象和4大作用域
【JavaWeb】JSP基本语法、指令、九大内置对象、四大作用域
JSP 脚本元素是指嵌套在 <% 和 %> 之中的一条或多条 Java 程序代码。通过 JSP 脚本元素可以将
陶然同学
2023/02/27
9570
【JavaWeb】JSP基本语法、指令、九大内置对象、四大作用域
JSP的四种作用域与九大内置对象
JSP的四大作用域:page、request、session、application
全栈程序员站长
2022/08/04
8890
JSP的四种作用域与九大内置对象
JSP内置对象
犹豫JSP使用Java作为脚本语言,所以JSP具有强大的对象处理能力,并且可以动态创建Web页面内容。但在使用一个对象前,Java语法需要先实例化这个对象,,这其实是一件比较麻烦的事情。为了简化开发,JSP提供了一些内置对象,用来实现JSP应用。在使用JSP内置对象时,不需要先定义这些对象,直接使用即可。
海盗船长
2020/08/27
1.5K0
Servlet和JSP学习指导与实践(三):JSP助阵
  JSP(Java Server Page)虽然作为一门服务端的语言,但它并没有创新新的语言标准。有些人一接触jsp之后发现易学易懂。实际上,jsp的内部原理仍然是基于Servlet,它是Servlet的补充,而并不是要取代Servlet。本文对JSP的一些概念及基础内容进行了不详尽的总结,希望感兴趣的博友凑合着看~
云海谷天
2022/08/09
5720
Servlet和JSP学习指导与实践(三):JSP助阵
程序员的20大JSP面试问题及答案
1.JSP与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览
鱼找水需要时间
2023/12/23
3710
Jsp内置对象及EL表达式的使用
一、JSP的内置对象(9个JSP内置对象) JSP的内置对象引用名称   对应的类型 request          HttpServletRequest response          HttpServletResponse session          HttpSession(有开关的:page指令的session属性的取值) application         ServletContext config            ServletConfig page     
欠扁的小篮子
2018/04/11
9910
JAVAWeb| 详解JSP技术、指令、隐式对象、标签
首先,我们来了解一下JSP这个东东,大家看它的缩写可能有点懵逼,告诉大家全称之后可能会更容易理解,JSP全称:Java Server Page ,直译过来便是爪洼服务页面,当然直译是不行滴。万物之生,必有其因,JSP是为了简化servlet的工作而出现的替代品。
Python进击者
2019/06/21
6290
JAVAWeb| 详解JSP技术、指令、隐式对象、标签
JavaWeb - JSP:概述和语法,内置对象,JavaBean 组件,MVC 设计模式
JSP 是 Java Server Pages 的简称,跟 Servlet 一样可以动态生成 HTML 响应, JSP 文件命名为 xxx.jsp。
RendaZhang
2020/09/08
7030
JavaWeb - JSP:概述和语法,内置对象,JavaBean 组件,MVC 设计模式
Web-第十一天 JSP学习
JSP全名是Java Server Pages,它是建立在Servlet规范之上的动态网页开发技术。在JSP文件中,HTML代码与Java代码共同存在,其中,HTML代码用来实现网页中静态内容的显示,Java代码用来实现网页中动态内容的显示。为了与传统HTML有所区别,JSP文件的扩展名为.jsp。
Java帮帮
2018/07/27
9190
Web-第十一天 JSP学习
JSP/Servlet Web 学习笔记 DayThree
  使用JSP语法可以存取这些内置对象来执行JSP网页的Servlet环境相互作用。内置对象其实是由特定的Java类所产生的。每一种内置对象都映射到一个特定的Java类或者端口,在服务器运行时根据情况自动生成。
Rekent
2018/09/04
4660
JavaWeb(二)jsp运行原理,九大内置对象
JSP运行原理: 每个JSP页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理。JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet) ,然后按照servlet的 调用方式进行调用。 由于JSP第一次访问时会翻译成servlet,所以第一次访问通常会比较慢,但第二次访问,JSP引擎如果发现JSP没有变化,就不再翻译,而是直接调用,所以程序的执行效率不会受到影响。 JSP引擎在调用JSP对应的_jspServlet时,会传递或创建9个与web开发
二十三年蝉
2018/02/28
1.4K0
JavaWeb(二)jsp运行原理,九大内置对象
jsp 九大内置对象和四大域对象
exception 对象 异常对象只有在 jsp 页面的 page 指令中设置 isErrorPage="true" 的时候才会存在
一个风轻云淡
2022/11/15
3810
jsp 九大内置对象和四大域对象
JSP九大内置对象
虽然现在基本上使用SpringMVC+AJAX进行开发了Java Web了,但是还是很有必要了解一下JSP的九大内置对象的。像request、response、session这些对象,即便使用其他框架也是会经常用到的。因此十分有了解的必要。
全栈程序员站长
2021/04/07
1.4K0
当Java遇见了Html--Jsp九大内置对象篇
本文讲述了Java的九大内置对象,包括out、request、response、session、application、pageContext、config、exception以及page。这些对象在Java Web开发中经常用于处理用户请求、响应结果、保存数据、跳转页面等操作。
方志朋
2017/12/29
7260
JSP第二篇【内置对象的介绍、4种属性范围、应用场景】
什么是JSP内置对象 JSP引擎在调用JSP对应的jspServlet时,会传递或创建9个与web开发相关的对象供jspServlet使用。JSP技术的设计者为便于开发人员在编写JSP页面时获得这些web对象的引用,特意定义了9个相应的变量,开发人员在JSP页面中通过这些变量就可以快速获得这9大对象的引用 细心的朋友会发现,我们没有在JSP页面上定义过out对象,却可以直接使用!其实out对象就是JSP内置对象之一。 九个内置对象: pageContext page config request respo
Java3y
2018/03/15
9640
JSP第二篇【内置对象的介绍、4种属性范围、应用场景】
jsp的内置对象有哪些
方法有:clear(),clearBuffer(),flush(),getBufferSize()
红目香薰
2022/11/29
1.4K0
jsp的内置对象有哪些
JavaWeb后端入门9—JSP、MVC
作用:代码复现,可以单独写header.jsp、footer.jsp,写其他页面时直接引入
用户6948990
2025/04/03
1260
JavaWeb后端入门9—JSP、MVC
servlet的生命周期和jsp内置对象
生命周期: Web容器加载Servlet并将其实例化后,Servlet生命周期开始,容器运行其init()方法进行Servlet的初始化;请求到达时调用Servlet的service()方法,service()方法会根据需要调用与请求对应的doGet或doPost等方法;当服务器关闭或项目被卸载时服务器会将Servlet实例销毁,此时会调用Servlet的destroy()方法。init方法和destory方法只会执行一次,service方法客户端每次请求Servlet都会执行。Servlet中有时会用到一些需要初始化与销毁的资源,因此可以把初始化资源的代码放入init方法中,销毁资源的代码放入destroy方法中,这样就不需要每次处理客户端的请求都要初始化与销毁资源。
earthchen
2020/09/24
5630
Javaweb02-jsp
jsp编译后放的目录:工作空间\.metadata.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\myWeb01\org\apache\jsp
化羽羽
2022/10/28
6190
相关推荐
JavaWeb(三)JSP之3个指令、6个动作、9个内置对象和4大作用域
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档