• 实验总结


    JSP:java server page服务器脚本语言。(脚本===插件),是一种在html代码中,嵌入java代码的方式。
    解决servlet产生动态页面缺陷而产生的一门技术。
    js:客户端脚本语言
    jsp引擎:在web容器中,需要提供一个jsp引擎,将客户端请求的jsp页面翻译成java类。
    jsp和servlet的区别:
    按照servlet规范,由jsp引擎所翻译的java类,必须实现HttpJspPage接口。而HttpJspPage接口是Servlet的子接口,所以,jsp引擎所翻译的
    Java类,同样满足servlet规范。从这个意义上说,jsp本质是servlet,拥有和servlet类似的生命周期。只不过jsp重在显示页面,而servlet
    重在逻辑处理。

    JSP生命周期:(3--7和servlet生命周期流程一样)
    1、由JSP引擎将JSP页面翻译成JAVA代码(aa.jsp-->aa_jsp.java)
    2、将JAVA代码编译成class字节码文件(aa_jsp.java-->aa_jsp.class)
    3、加载到容器
    4、由容器实例化成对象
    5、初始化阶段相关的方法是jspInit()
    6、请求到达,调用服务阶段相关的方法是_jspService()
    7、销毁阶段相关的方法是jspDestroy()

    JSP网页主要由元素(Element)和模板数据(Template Data)两个部分组成 :
    模板数据是JSP的静态部分,WEB容器不处理 ;元素则是必须经由WEB容器解释

    jsp脚本元素有三种:
    声明:<%! %>定义jsp类的成员变量、静态变量和方法。
    脚本:<% %>丰富_jspService()方法,在脚本中定义的变量都是_jspService()的局部变量。
    表达式:<%= %>也是在丰富_jspService()方法,相当于打印语句,向客户端输出内容,表达式后不能加分号

    jsp的注释:
    jsp注释 <%-- --%>对于jsp注释,web容器是不翻译的,jsp注释只在源代码中可见,最为安全,可以注释掉java代码
    html注释 <!-- -->容器可以识别,不能注释java代码。web容器会以out.println()方式输出到客户端,客户端和服务器都可见,最不安全。
    java注释 只在服务器端可见,客户端不可见。

    jsp隐式对象:
    jsp引擎在翻译jsp页面时,会在_jspService()方法中,传入由web容器封装的请求、响应对象,同时在_jspService()方法开始时,定义了九个变量
    ,并且完成了这些变量的初始化。开发者所写的脚本,表达式,是在丰富_jspService()方法,所以,可以直接使用这些变量,而不用定义,
    这些变量成为jsp的隐式对象。

    jsp隐式对象有九个:(无需声明,可以直接使用)
    四个作用域:
    pageContext:作用于页面(只在jsp页面有效)===ServletContext
    request:作用于请求(请求范围内有效)
    session:作用于会话(一次会话有效)
    application:作用于全局(在全局范围有效)
    两个输出:
    response:响应对象
    out:打印输出流
    page:当前jsp类对象(this)
    config:配置对象
    exception:异常对象

    提供整个JSP页面的相关信息<%@ %>,用于JSP页面与容器之间的通信
    在JSP中,有三种类型的指令:
    page指令为当前页面提供处理指令
    include指令用于把另一个文件包含在JSP中
    taglib指令指定如何包含和访问自定义标签库

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    page指令常见的属性:contentType:设置响应信息的MIME类型和编码集====pageEncoding:设置响应信息的编码集,MIME类型默认为text/html
    import:在jsp类中,导入其他包中的类,多个包用逗号分开。
    session:客户端访问jsp时,是否创建session对象,默认为true
    exception:当errorPage出现运行异常时,才会产生该异常对象。
    errorPage:当前jsp中抛出了运行异常,跳转到errorPage属性所指定的页面。
    isErrorPage:当该属性设置为true时,表示当前jsp为异常处理页面。在当前jsp类中,会定义exception隐式对象,接收从出错页面中传递过来的异对象。

    在web.xml中,可以定义:(在相应信息为指定状态码时,跳转到指定页面)
    <error-page>
    <error-code>404</error-code>
    <location>/noFind.jsp</location>
    </error-page>

     
  • 相关阅读:
    【BZOJ5302】[HAOI2018]奇怪的背包(动态规划,容斥原理)
    【BZOJ5303】[HAOI2018]反色游戏(Tarjan,线性基)
    【BZOJ5304】[HAOI2018]字串覆盖(后缀数组,主席树,倍增)
    【BZOJ5305】[HAOI2018]苹果树(组合计数)
    【BZOJ5300】[CQOI2018]九连环 (高精度,FFT)
    【BZOJ5292】[BJOI2018]治疗之雨(高斯消元)
    【BZOJ5298】[CQOI2018]交错序列(动态规划,矩阵快速幂)
    【BZOJ5289】[HNOI2018]排列(贪心)
    Codeforces Round #539 Div1 题解
    【BZOJ5288】[HNOI2018]游戏(拓扑排序)
  • 原文地址:https://www.cnblogs.com/yang-qiu/p/10476831.html
Copyright © 2020-2023  润新知