文章目录
JSP指令元素的概述
- JSP指令元素的作用
- 用于指示JSP执行某些步骤
- 用于指示JSP表现特定行为
- JSP指令元素的语法
- <%@ 指令名称 属性名称=属性的值 属性名称=属性的值 %>
- JSP指令元素的分类
- page指令:指示JSP的页面设置属性和行为
- include指令:指示JSP包含哪些其他页面
- taglib指令:指示JSP页面包含哪些标签库
JSP的指令——page指令
- page属性用来定义JSP文件的全局属性
- 这些属性可以单独使用,也可以几个或多个同时使用
- 在JSP页面中,只有import属性可以出现多次,其他属性都只能出现一次
- page指令属性:
- import属性:用于导入java包或类。
- contentType属性:标名JSP被浏览器解析或者打开时采用的默认字符集。
- pageEncoding属性:JSP文件 及JSP翻译后的Servlet保存到硬盘上采用的字符集。
- language属性:声明使用脚本的语言,只能是java。
- extends属性:标名JSP编译成Servlet继承的类,默认是HttpJspBase。
- session属性:标名JSP中是否可以直接使用session对象,默认值true。
- buffer属性:标名JSP对客户端输出缓冲区的大小,默认8kb。
- autofFlush属性:如果缓冲区大小溢出,是否自动刷出,默认true。
- errorPage/isErrorPage属性:处理JSP页面异常。
- isElIgnored:通知JSP是否忽略EL表达式。
JSP的指令——include指令
- 在JSP页面中静态包含一个文件,同时由该JSP解析包含的文件内容。
- include指令属性:
- file属性:指示JSP页面包含页面路径。(使用事项:应该将被包含的页面结构去掉;在被包含的页面中定义页面,包含的页面中还可以使用。)
- include指令原理(静态包含原理)
JSP的指令——taglib指令
- 用于在JSP页面中引入标签库。
- taglib指令属性:
- uri属性:引入的标签库的路径。
- prefix属性:引入的标签库的别名。
JSP的内置对象
- 指的是可以直接在JSP页面中使用的对象。
- JSP的9大内置对象:
- request:从客户端向服务器发送的请求对象。
- response:从服务器向客户端的响应对象。
- session:服务器为客户端创建会话对象。
- application:代表应用,获得的ServletContext对象。
- out:向输出流写入内容的对象。
- page:当前JSP页面翻译成Servlet后的对象的引用。
- pageContext:本JSP页面的上下文对象。
- config:本JSP页面的ServletConfig对象。
- exception:表示JSP页面运行时产生的异常对象。
- JSP内置对象的具体类型(JSP编译成servlet后的源码可查):
- request:HttpServletRequest
- response:HttpServletResponse
- session:HttpSession
- application:ServletContext
- out:JspWriter
- page:Object
- pageContext:PageContext
- config:ServletConfig
- exception:Throwable
- pageContext对象介绍
- 代表当前页面运行的一些属性,是javax.servlet.jsp.PageContext类的实例对象。
- 作用:提供了page范围的数据的存取方法(setAttribute等);通过这个对象可以获取其他8个内置对象。
JSP的四个作用范围
- PageScope:页面范围,在当前页面内有效。
- RequestScope:请求范围,在一次请求响应范围内有效。
- SessionScope:会话范围,在一次会话区间有效。
- ApplicationScope:应用范围,在整个web项目中有效。
- pageContext对象向四个域范围存取数据
- pageContext对象的findAttribute方法
查找属性方法:先根据小范围的名称进行查找,如果找到了就返回,没有找到就会去比其大一个的域的范围进行查找。
JSP的动作标签
JSP的动作标签用于在JSP页面提供业务逻辑的功能,避免在JSP页面中直接编写java代码,造成JSP页面难以维护。
JSP常用的动作标签:
-
jsp:forward/:请求转发
- <jsp:forward page=“demo4/demo2,jsp” ></jsp:forward>
-
jsp:include/:包含(动态包含)
- <jsp:include page=“demo4/demo2,jsp” ></jsp:include>