JSP学习总结

来源:互联网 发布:最好的文档扫描软件 编辑:程序博客网 时间:2024/06/14 06:16

JSP总结

jsp文件在内容上是html语言和Java脚本语言组成的。JSP实质是一个servlet文件,在调用的时候会把jsp文件编译成servlet文件。

jsp生命周期

jsp生命周期有四个阶段,分别是编译阶段、初始化阶段、执行阶段和销毁阶段。

  1. jsp编译
    • 请求jsp页面的时候,检查是否要编译这个jsp文件(未编译过、文件修改过)。编译分为三个步骤:
    • 1.解析jsp文件
    • 2.将jsp文件编译成servlet
    • 3.编译servlet
  2. jsp初始化

    • 调用jsp的init方法达到初始化。
  3. jsp执行

    • 初始化后,jsp引擎调用_jspService方法,这个方法需要HttpServletRequest和HttpServletResonse参数。
    • 7个http回应,get,post,delete等。
  4. jsp销毁
    • 调用destory方法,释放一些资源。

jsp指令

jsp中有三个指令,page、include和taglib。其中,page指令基本是固定的,指定jsp页面使用的脚本语言和字符编码等等。include可以指定包含的其他的文件资源,taglib代表标签库,一般是jstl标签库。

语法

<%@ page  language="java" encodeing="utf-8"%><%@ include file="???"%><%@ taglib prefix ="c" uri="???"%>

jsp动作元素

比较<%@ include…%>和<.jsp:include…>的差别。
主要有两个方面的不同;

一:执行时间上:

<%@ include file=”relativeURI”%>是在翻译阶段执行

<.jsp:include page=”relativeURI” flush=”true” /> 在请求处理阶段执行.

二:引入内容的不同:

<%@ include file=”relativeURI”%>引入静态文本(html,jsp),在JSP页面被转化成servlet之前和它融和到一起.

<.jsp:include page=”relativeURI” flush=”true” />引入执行页面或servlet所生成的应答文本.

jsp隐式对象

jsp有9个隐式对象

  1. request
    • HttpServletRequest类的实例
    • request对象提供了一系列方法来获取HTTP头信息,cookies,HTTP方法等等。
  2. response
    • HttpServletResponse类的实例
    • response对象也定义了处理HTTP头模块的接口。通过这个对象,开发者们可以添加新的cookies,时间戳,HTTP状态码等等。
  3. out
    • PrintWriter类的实例,输出内容到网页上
  4. session
    • HttpSeesion类的实例
    • session对象用来跟踪在各个客户端请求间的会话。
  5. application
    • ServletContext类的实例,与应用的上下文有关
    • 这个对象在JSP页面的整个生命周期中都代表着这个JSP页面。这个对象在JSP页面初始化时被创建,随着jspDestroy()方法的调用而被移除。
    • 通过向application中添加属性,则所有组成您web应用的JSP文件都能访问到这些属性。
  6. config
    • ServletConfig类的实例
  7. pageContext
    • PageContext类的实例,提供对jsp页面所有对象以及命名空间的访问
    • 这个对象存储了request对象和response对象的引用。application对象,config对象,session对象,out对象可以通过访问这个对象的属性来导出。
      pageContext对象也包含了传给JSP页面的指令信息,包括缓存信息,ErrorPage URL,页面scope等。
  8. page
    • 类似Java中的this关键字
  9. Exception
    • Exception类的实例

jsp标签库

使用jstl要先引用jstl的jar

根据JSTL标签所提供的功能,可以将其分为5个类别。

  • 核心标签
  • 格式化标签
  • SQL 标签
  • XML 标签
  • JSTL 函数

jsp表达式语言(EL)

和jstl使用方便,EL很多,在日常的使用中也就几种,多家练习就好。

原创粉丝点击