知识学习——JSP

运行步骤:

  1. 客户端发出请求,请求访问jsp文件
  2. Web 服务器识别出这是一个对 JSP 网页的请求,并且将该请求传递给 JSP 引擎
  3. JSP 引擎从磁盘中载入 JSP 文件,然后将它们转化为 Servlet
  4. JSP 引擎将 Servlet 编译成可执行类,并且将原始请求传递给 Servlet 引擎
  5. Web 服务器的某组件将会调用 Servlet 引擎,然后载入并执行 Servlet 类。在执行过程中,Servlet 产生 HTML 格式的输出并将其内嵌于 HTTP response 中上交给 Web 服务器
  6. Web 服务器以静态 HTML 网页的形式将 HTTP response 返回到浏览器中
  7. 最终,Web 浏览器处理 HTTP response 中动态产生的HTML网页,就好像在处理静态网页一样

JSP 生命周期

  • 编译阶段:servlet容器编译servlet源文件,生成servlet类
  • 初始化阶段:加载与JSP对应的servlet类,创建其实例,并调用它的初始化方法
  • 执行阶段:调用与JSP对应的servlet实例的服务方法
  • 销毁阶段:调用与JSP对应的servlet实例的销毁方法,然后销毁servlet实例

JSP脚本元素(JSP Scriptlets)

语法:<% 脚本元素 %> 里面可以包含任意量的Java语句、变量、方法或表达式,只要它们在脚本语言中是有效的。
jsp表达式符号<%= %>

JSP指令

page指令

<%@ page language="java"
 import="java.util.*,java.text.*"
 contentType="text/html; charset=utf-8" 
pageEncoding="UTF-8"%>

include指令

<%@ include file="yes.jsp"%>

JSP动作元素

//page表示包含在页面中的相对URL地址,flush布尔属性,定义在包含资源前是否刷新缓存区

//useBean用来实例化一个对象,id表示实例名,class写指定类的完整包名

//setProperty,getProperty等同setget方法


//jsp:forward动作把请求转到另外的页面
//page属性包含的是一个相对URL。page的值既可以直接给出,
//也可以在请求的时候动态计算,可以是一个JSP页面或者一个 Java Servlet

JSP 隐式对象

request对象

request对象是javax.servlet.http.HttpServletRequest 类的实例,request对象提供了一系列方法来获取HTTP头信息,cookies,HTTP方法等等

response对象

response对象是javax.servlet.http.HttpServletResponse类的实例,response对象也定义了处理HTTP头模块的接口。通过这个对象,开发者们可以添加新的cookies,时间戳,HTTP状态码等等。

out对象

out对象是 javax.servlet.jsp.JspWriter 类的实例,用来在response对象中写入内容

session对象

session对象是 javax.servlet.http.HttpSession 类的实例。和Java Servlets中的session对象有一样的行为。session对象用来跟踪在各个客户端请求间的会话。

application对象

application对象直接包装了servlet的ServletContext类的对象,是javax.servlet.ServletContext 类的实例。这个对象在JSP页面的整个生命周期中都代表着这个JSP页面。这个对象在JSP页面初始化时被创建,随着jspDestroy()方法的调用而被移除。通过向application中添加属性,则所有组成web应用的JSP文件都能访问到这些属性

config对象

config对象是 javax.servlet.ServletConfig 类的实例,直接包装了servlet的ServletConfig类的对象。
这个对象允许开发者访问Servlet或者JSP引擎的初始化参数,比如文件路径等

pageContext 对象

pageContext对象是javax.servlet.jsp.PageContext 类的实例,用来代表整个JSP页面。这个对象主要用来访问页面信息,同时过滤掉大部分实现细节。这个对象存储了request对象和response对象的引用。application对象,config对象,session对象,out对象可以通过访问这个对象的属性来导出。pageContext对象也包含了传给JSP页面的指令信息,包括缓存信息,ErrorPage URL,页面scope等

page 对象

这个对象就是页面实例的引用。它可以被看做是整个JSP页面的代表。

你可能感兴趣的:(知识学习——JSP)