Jsp的简介

jsp的全称是java server pages 意思为java的服务页面

jsp必须运行在服务器,不能脱离服务器单独运行

jsp是可以写java代码的html

jsp的本质就是一个servlet

JSP的运行原理

1) 第一次访问JSP的时候,JSP引擎会将JSP翻译成java文件

2) Java虚拟机会将java文件编译为.class文件

3) Jsp容器会实例化对应JSP生成的类的对象,调用类对象中的_jspService处理请求

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wfbdvJth-1600591243782)(file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wpsA4DC.tmp.jpg)]

l 以index,jsp为例:

1) 第一次访问index.jsp的时候,JSP引擎会将index.jsp翻译成index_jsp.java文件

2) Java虚拟机将index_jsp.java文件编译为index_jsp.class文件

3) JSP容器会根据index_jsp.class创建该类的对象,最后调用类对象中的_jspService处理请求

l 如果再次请求index.jsp(前提是文件内容不发生改变的情况下),直接调用生成的类对象中的_jspService处理请求

Jsp基本语法

JSP中使用模板元素 html标签
Jsp中的脚本片段 l 语法:<% java代码 %>
Jsp表达式 l 语法:<%=要输出的信息 %> ;要输出的信息可以是对象、字符串、数值

Jsp中的注释

Java注释:// Jsp脚本片段中
Html注释:html中
Jsp注释:<%-- --%> Jsp注释中将java代码进行注释

Jsp常用指令

page指令

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ghOCeonz-1600591243786)(C:\Users\Administrator\Desktop\11.png)]

Language :开发中所需要的语言,可选值为java

contentType: 告诉浏览器以什么样的字符集进行解码,服务器以什么样的字符集进行编码

pageEncoding:当前页面的编码格式

errorPage=“页面地址”:如果当前JSP页面中出现异常,所跳转的页面

例如:

errorPage="/error.jsp",当前页面发生异常会进入error.jsp页面,errorPage值中 的第一个“/”由服务器解析

isErrorPage:指定当前页面是否是一个异常页面,默认为false;如果想指定当前页面为异常页面,那么把isErrorPage的值设为true

import :用来导包,每导一个包通常情况下会创建一个新的page指令

include指令

Include指令的作用是在当前页面中引入其他页面

语法:<%@include file=“被包含的文件地址” %>

注意:被包含的jsp不会被翻译为.java文件,这种包含称之为静态包含

常用的动作标签

语法:<jsp:动作 >

Jsp:forward

使用forward动作标签可以进行请求的转发,和servlet中的转发一个作用

JSP:include

用来包含其他页面

<jsp:include page=“被包含的页面地址”></jsp:include>

被包含的页面会翻译为.java文件,这种称之为动态包含

什么时候使用动态包含,什么时候使用静态包含:

如果被包含的页面是静态页面,就是用静态包含;如果被包含的页面是动态 页面使用动态包含;

Jsp九大隐含对象☆

l 就是在JSP中不用声明就可以使用的对象,称为隐含对象

l 之所以可以直接使用,是因为jsp对应的java文件中的_jspservice方法中已经提前声明

l 在JSP的脚本片段中写的java代码,相当于写到jsp对应的java文件中的_jspservice方法了;

l JSP中的九大内置对象

pageContext

类型:PageContext

作用:一个顶九个,可以获取其他八个隐含对象,例如获取HttpServleRequest使用pageContext.getRequest()

还是一个域对象

request

类型:httpServletRequest

作用:和servlet中的request作用一样

还是一个域对象

session

类型:HttpSession

作用:可以保存当前登录用户的数据

在servlet中的获取方式:HttpSession session = request.getSession();

还是一个域对象

application

类型:ServletContext

作用:代表当前web应用,可以获取当前web应用初始化参数

还是一个域对象

response

类型:HttpServletResponse

作用:和servlet中的HttpServletResponse作用一样

Config

类型:ServletConfig

作用:和servlet中的ServletConfig作用一样

out

类型:JspWriter

作用:网浏览器输出数据,和servlet中的response.getWriter作用类似

page

类型:Object

作用:相当于this,代表当前jsp

exception

类型:Throwable

作用:获取错误信息,前提是要把当前页面定义为错误页面,即在page指令中加入isErrorPage=“true”

JSP四大作用域

l 域是在区域,在javaweb中指不同的资源,例如servlet,JSP

l 由于在不同的域之间要传递参数,所有就有了对象

page

对应了jsp域对象:PageContext

范围:作用与当前页面

Request

对应了jsp域对象:request

范围:一次请求(当前请求)

Session

对应了jsp域对象:session

范围:一次会话(浏览器打开到关闭属于一次会话)

Application

对应了jsp域对象:application

范围:当前web应用

四个域的共同方法:

setAttribute(属性名”,”属性值”);往域对象中存储数据

getAttribute(“属性名”):获取域对象中的数据,根据属性名获取属性值

remove Attribute(“属性名”):删除域对象中属性名对应的数据

JSP运行原理 九大内置对象 四大作用域相关推荐

  1. JSP九大内置对象四大作用域

    JSP简介 JSP(Java Service Page 即java服务器页面)也就是对Servlet的一种封装,每次都是先转译成Servlet才能执行,因为Servlet写HTML时每一句都要用res ...

  2. JavaWeb——JSP九大内置对象及作用域详解

    文章目录 JavaWeb--JSP九大内置对象及作用域 1. 九大内置对象 1.1 request对象 1.2 response对象 1.3 out对象 1.4 session对象 1.5 appli ...

  3. 相对地址与绝对地址的区别?请求重定向与请求转发的区别?jsp有哪九大内置对象?servlet如何获取session和application对象?

    目录 1.说说相对地址与绝对地址的区别? 2.说说请求重定向与请求转发的区别? 3.jsp有哪九大内置对象?servlet如何获取session和application对象? 1.说说相对地址与绝对地 ...

  4. jsp中的九大内置对象与四大域对象

    什么是内置对象? 在jsp中已经创建好的对象名,而这些对象无需自己在实例化.通过该对象名可以调用相应的类方法. 九大内置对象 1. out对象---作用:用来输出信息到浏览器.常见的方法: print ...

  5. 【Spring】JSP 九大内置对象、作用域复习

    博客: 总结 JSP的四大域对象.Servlet的四个作用域: pageContext.request.session.application JSP 九大内置对象和四大作用域复习 名称 类型 含义 ...

  6. JSP 九大内置对象及作用域(源码刨析,建议收藏)

    JSP内置对象及作用域 九大内置对象 PageContext 用来保存东西 Request 用来保存东西 Response Session 用来保存东西 Application[ServletCont ...

  7. jsp的九大内置对象和作用域

    定义:可以不加声明就在JSP页面脚本(Java程序片和Java表达式)中使用的成员变量 JSP共有以下9种基本内置组件(可与ASP的6种内部组件相对应): 1.request对象(作用域) 客户端的请 ...

  8. Java Web(五) JSP详解(四大作用域九大内置对象等)

    前面讲解了Servlet,了解了Servlet的继承结构,生命周期等,并且在其中的ServletConfig和ServletContext对象有了一些比较详细的了解,但是我们会发现在Servlet中编 ...

  9. 小汤学编程之JavaEE学习day03——JSP组成结构、JSP原理、JSP生命周期、JSP九大内置对象、四大作用域、JSP的MVC模式

    一.JSP组成结构 二.JSP的原理 1.JSP的运行原理     2.分析JSP所生成的Servlet代码     3.JSP的执行过程 三.JSP生命周期 四.JSP九大内置对象 五.JSP四大作 ...

最新文章

  1. 利用Advanced Installer将asp.netMVC连同IIS服务和mysql数据库一块打包成exe安装包
  2. driver: linux2.6 内核模块导出函数实例(EXPORT_SYMBOL)
  3. OpenGL equirectangular等矩形环境图的实例
  4. 快速排序的性能和名字一样优秀
  5. [JavaWeb-JavaScript]JavaScript注释数据类型
  6. 前端学习(1810):前端调试之css装饰cursor
  7. 单调队列优化的背包问题
  8. C#中的泛型化方法的实现
  9. JAVA Swing GUI设计 WindowBuilder Pro Container使用大全3——JScrollPane使用
  10. 2020 年物联网设备达 500 亿台!AI、区块链技术加持,优秀开发者稀缺!
  11. 社交游戏Zynga之死
  12. 银行业务队列简单模拟Java程序设计_PTA 数据结构 银行业务队列简单模拟
  13. Emacs中自动刷新dired缓冲区
  14. 给计算机e盘加密,win10系统给e盘加密的操作方法
  15. pythoncad标注教程_CAD 2014二维三维建模渲染标注基础与提升视频教程
  16. 苹果电脑macos Monterey 12.6(21G115)dmg原版引导版镜像下载
  17. Java解决上台阶问题
  18. 微信隐藏功能:微信提现怎么免手续费?勤俭持家的福音,2步做到
  19. MFC封装功能成动态库相关问题汇总记录
  20. android手机如何到导出电话号码,苹果手机通讯录怎么导入?如何导出手机通讯录到新手机...

热门文章

  1. cubemx 使用 学习跳转链接
  2. 色深 (Color Depth)
  3. Odoo 16 企业版手册 - CRM (2)
  4. VSTO Office二次开发应用程序键盘鼠标钩子
  5. php 如何股票曲线图,如何看股票曲线图?股票曲线图讲解
  6. C语言关键字及其解释[共32个]
  7. 【智能制造】奔向智能制造;什么样的人能引领工厂智能制造发展?
  8. LaSOT: A High-quality Benchmark for Large-scale Single Object Tracking(论文翻译)
  9. Android OpenGL ES 实现 3D 阿凡达(Avatar)效果
  10. 使用JMeter进行MySQL的压力测试