JSP
一、JSP规范介绍
1、JSP规范来源于JAVAEE规范的一种
2、JSP规范制定了如何开发jsp文件代替响应对象将处理结果写入到响应体中
3、JSP规范制定了Http服务器应该如何调用管理jsp文件
二、响应对像存在的弊端
1、向应对象只适合将较少的处理结果写入到响应体中
2、如果处理结果过多,使用响应对象会增加开发难度
三、JSP文件的优势
1、jsp文件在互联网通信过程,是响应对象的替代品
2、降低了将处理结果写入到响应体的工作量 和处理结果的维护难度
四、JSP文件的使用
实现Java语言需要在<%%>标识符之中写 ,一个jsp文件中的所有“<%%>”标识符会被当成一个整体的代码块
输出语句: <%=%>
![8b3b90916a9b25cf158531fa4fe6db8c.png][8b3b90916a9b25cf158531fa4fe6db8c]
![206961b778b30ec5393e753d55cbe41a.png][206961b778b30ec5393e753d55cbe41a]
条件语句以及循环语句在JSP中的特殊写法
![c04f12bff527ce9c67e301b3e7f92fbf.png][c04f12bff527ce9c67e301b3e7f92fbf]、
![695e4d40e13daf56777745491b1cca04.png][695e4d40e13daf56777745491b1cca04]
循环语句同理.
五、JSP文件的内置对象
1、request
类型:HttpServletRequest
作用:获取请求包信息、在请求转发过程中共享数据
2、session
类型:HttpSession
作用:指向当前用户的私人储物柜对象、可以实现读取和添加共享数据
3、application
类型:ServletContext
作用:servlet对象 和jsp文件可以通过全局作用域对象实现数据共享
***六、Http服务器调用JSP文件步骤
1、HTTP服务器将jsp文件【编辑】为一个servlet接口实现类(.java 文件)
2、HTTP服务器将servlet接口实现类【编译】为class文件
3、Http服务器为编译后的文件创建实例对象,这个对象就是一个servlet实例对象
4、调用实例对象的_JspService方法,将jsp文件中的内容写入到响应体中
EL工具包
1、介绍:
由Java技术开发的一个jar包
作用于降低jsp文件Java命令开发强度
TomCat服务器本身自带了EL工具包(TomCat安装地/lib/el_api.jar)
2、作用:
代替响应对象向servlet运行结果写入响应体
3、EL表达式
命令格式:${作用域对象.共享数据}
作用:EL表达式时EL工具包提供的一种特殊的命令格式{表达式命令格式}
EL表达式在JSP文件上使用
负责在JSP文件上将作用域对象的共享数据读取并写入到响应体
eg:
![739de34386f84ef635caa6781054851d.png][739de34386f84ef635caa6781054851d]
结果:
![951f4892523acb2f5cae64d46c51b65b.png][951f4892523acb2f5cae64d46c51b65b]
EL表达式提供的作用域对象别名
JSP 名称 EL中别名 EL表达式
appliacation 全局作用域对象 applicationScope ${ applicationScope .共享数据}
request 请求作用域对象 requestScope ${ requestScope .共享数据}
session 会话作用域对象 sessionScope ${ sessionScope .共享数据}
pageContext 当前页作用域对象 pageScope ${ pageScope .共享数据}
当前页作用域对象是JSP文件独有的作用域对象,servlet中不存在,在当前页作用域对象中存储的共享数据只能在当前JSP文件中使用,不能共享给其他sevlet或JSP文件。
主要用于JSTL标签和JSP文件之间的数据共享
EL表达式简易版
格式:${共享数据名}
原理:执行时采用 猜 的算法按照以下顺序查找共享数据 如果都不存在则返回null
pageContext------>request------>session------>application