过滤器

上下文监听器

1)ServletContextListe

JSP执行原理、

当客户端请求某一个JSP页面的时候,web容器会将这个请求交给JsspServlet来处理,JspServlet会通过JSP引擎(jsper.jar)将这个JSP页面转译成一个Servlet组件,同时会在这个Servlet组件中定义好9个内置对象。最后通过编译命令(javac)来编译成字节码文件,并加载到JVM中来执行我们在JSP中编写的Java晓脚本(<%%>),通过转译,最终会被定义为Servelt的实例变量

注意:当第一才请求的时候,容器会先检查之前有没有转译过这个JSP,如果没有就执行转译和编译,否则就直接使用之前转译好的Servelt组件来运行,提高效率

JSP通常有以下几块内容构成

1)内置对象

就是已经存在于JSP组件中,不需要而外创建出来的对象,拿来即用。在JSP中一共有9个内置对象。

Page,request,session,application,out,pageContext,response,exception,config

2)三大元素

指令元素(page,taglib)

Page指令,用于设置当前JSP页面的信息,比如:编码、需要用到的类库、是否支持EL表达式、设置错误页面等等。

Tablib指令,用于导入标签库,比如:JSTL标准标准库或自定义标签库。

include指令,用于静态包含一个页面,静态包含是在转译的时候,将要包含的页面源代码合并到当前的JSP中,形成一个servlet文件,并且静态包含是不能带参数的。动作元素

<JSP:>动作元素,例如:<JSP:useBean>、<JSP:include>动态包含(动态包含,最终会变成或者多个servlet文件,并且动态包含)、<JSP:forward>转发、….

脚本元素

声明:<%!%>

脚本:<% %>

表达式:<%=  %>

3)标准标签库以及表达式

标准标签库:JSTL

EL表达式:${表达式}

原文地址:https://www.cnblogs.com/BruningHUA/p/6221221.html