文章标题

  1. jsp:javaserver page

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

  3. jsp API
    .jsp翻译为 .java代码,*继承了httpJspBase。而httpJspBase继承了HttpServlet,jsp本质就是servlet

  4. JspServlet类是jsp引擎。tomcat在web.xml里面已经配置了jsp的内容,tomcat是一个jsp、servlet的容器

  5. jsp和servlet之间的相同点和不同点
    他们两个都是servlet,都是服务器端动态网页的技术,jsp重在数据的显示,servlet重在逻辑业务

  6. jsp脚本片段只能出现java代码,不能出现任何模板元素,jsp引擎在翻译jsp代码的时候,会将脚本片段里面的所有java代码都放在service方法里面,jsp脚本片段必须完全遵循java语法规则,如果要嵌套模板元素,像字符串拼接一样拆分

脚本元素脚本语法
声明<%! 声明 %>
Scriplet<% 代码 %>
脚本表达式<%= 脚本表达式 %>
<!-- jap声明,可以声明变量,函数,静态块,jsp的声明主要定义全局的变量方法 -->
<%!
    //java代码
    int i=10;
    //静态块
    static{
        System.out.print("输出");
    }
    //方法
    public intadd(){
        return 1+1;
    }
%>
//Scriplet:所有的java代码都是放在service方法内容,可以调用外部的属性的方法
 <% 
    for(int i=0;i<10;i++){
 %>
    <p>this is p</p>
 <%
    }
 %>
 ```
 ```
//脚本表达式,用于将程序的数据输出到客户端,jsp引擎会将脚本表达式变成out.print/out.write
<%=i%>

jsp生命周期

  1. 由jsp引擎将jsp页面翻译成java代码
  2. 将java代码编译成class字节码文件
  3. 加载到容器
  4. 由容器实例化成对象
  5. 产生阶段相关的方法是jspInit()
  6. 请求到达,调用服务器阶段相关的方法是_jspService()
  7. 销毁阶段相关的方法是jspDestroy();

jsp指令:

  1. page:page指令用于定义与jsp页面的各种属性,无论page指令出现在jsp那个地方,他都是作用整个页面

  2. include:可以包含任意文件,用于引入其他的一个文本文件内容,可以是动态文件/静态文件
    指令静态包含,先把其他页面的内容引入到当前这个页面,变成一个页面。最终只会产生一个servlet,包含动态网页,被引入的文件可以是容易扩展名,静态引入会生成一个文件 ,在翻译成servlet,不能有指令冲突

3. taglib:导入标签库的指令

jsp动作:

  1. : 包含的是结果, 有多少个动态页面包含多少个结果,创建多个servlet,将所有servlet结果放在一起,如果包含 是静态文件,相当于静态包含,可以设置自己的指令,不会冲突。

2. :当前执行到派发动作时候,将控制权交给下一个资源

九大隐式对象之pageContext:

他是jsp页面最重要的一个对象,代表jsp页面的运行环境,这个对象封装了其他八个对象。它自身是一个容器/域对象,当前这个对象来封装数据,还包含一些动作(跳转,引入文件)

findAttribute获取到其他对象的属性值,首先找本身这个对象,存在返回结束查找,不存在就继续从其他对象查找,查询其他对象按照从小到大(表示当前对象作用的范围)的顺序
page -> request -> session -> application,找不到就返回null
但钱对象还包含了一些动作(跳转、引入文件)

pageContext.include();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值