JSP基础

JSP简介

  • java server page
  • html模板+java代码。所有的java语言都可以在jsp中使用
  • html定义了整个网页的骨架,页面的结构和外观,java代码用来操作数据的显示。

JSP的声明 <%! %>

  • 可以声明变量,函数,静态块,jsp的声明主要定义全局的变量方法

JSP API

  • test.jsp-翻译为test.java代码。test类继承了HttpJspBase.而HttpJspBase继承了HttpServlet.jsp本质上就是servlet
  • tomcat web.xml里面已经配置了jsp的内容。注册和映射都配置好了,tomcat是一个jsp、servlet的容器。

jsp和servlet之间的相同的和不同点:

  • 他们两个都是servlet。都是服务器端动态网页的技术
  • jsp重在数据的显示,servlet主要处理业务逻辑

JSP的脚本片段---<% %>

  • 所有的Java代码都是放在service方法里面,可以调用外部的属性和方法。
  • jsp脚本片段里面只能出现Java代码,不能出现任何模板元素,jsp引擎在翻译jsp代码的时候,会将脚本片段里面的所有java代码都放在service方法里面。jsp脚本片段必须完全遵循java语言规则,在一段脚本片段里面要嵌套模板元素时,只能将脚本片段分开

JSP脚本表达式---<%= %>

  • 用于将程序的数据输出到客户端,jsp引擎会将脚本表达式转换为out.print out.write

JSP运行机制-页面翻译

  • Web容器第一次接受到对某个JSP页面
  • Web容器负责将Servlet代码编译为字节码。与源文件放在同一个目录下

JSP生命周期

  • 由JSP引擎将JSP页面翻译成JAVA代码
  • 将JAV代码编译成class字节码文件
  • 加载到容器

JSP指令 <%@ page %>

  • page指令为当前页面提供处理指令 ---用于定义jsp页面的各种属性,无论page指令出现在jsp的那个地方,都作用于整个页面。

include指令 <%@ include %>

  • 可以包含任意的文件,包含的是内容。include指令用于引入其他的一个文本文件的内容。
  • 静态包含:先把其他页面的内容引入到当前的这个页面,变成一个页面。最终只会产生一个servlet,包含的内容必须遵循jsp的语法,被引入的文件可以是任意的扩展名,静态引入会产生一个文件,再翻译成servlet,引入的文件不能有指令冲突。

taglib指令

  • 导入标签库的指令

JSP标准动作

  • <jsp:include>动态包含:包含的是结果,有多少个动态页面就包含多少个结果。创建多个servlet。将所有servlet结果放在一起。
  • 如果包含的是静态的文件,相当于是静态包含。
  • 包含的每一个页面都可以设置自己的指令和变量,不会冲突。
  • <jsp:forward>:当前执行到派发动作的时候,将控制权交给了下一个资源,就相当于servlet中的请求派发。

JSP隐式对象

  • 9大隐式对象可以直接在jsp中使用,不需要定义,jsp引擎已经定义好了

pageContext

  • 它是jsp技术中最重要的一个对象,代表jsp页面的运行环境。这个对象封装了其他八个对象,他自身还是一个容器(也是一个域对象),我们可以用它来封装数据,当前这个对象还包含了一些动作。比如跳转、引入文件。
  • pageContext包含其他八个对象,可以通过findAttribute获取到其他对象的属性值。
  • pageContext.getAttribute()得到的是自己的属性。
  • findAttribute:查询内容,首先查找本身这个对象,存在就返回然后结束查找,不存在就继续从其他对象查找。查询其他对象,按照从小到大(表示当前对象作用的范围)的顺序。 page>request>session>application(jsp中的上下文对象) 找不到才返回null。
  • page:表示当前jsp页面。可以理解为一个对象本身。就相当于把jsp看成一个对象。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值