jsp指令元素分类与书写格式:
书写格式:
<%@ 指令类型 属性="值" .. %>
分类:
【page include taglib】三种。
根据名字就能知道指令含义:page紧张是对页面进行操作,include紧张是对导入进行操作,taglib紧张是对标签库进行操作
1,page指令:
errorPage="error.jsp"
如果a.jsp页面中设置了errorPage="error.jsp",那么a.jsp页面在运行时【一旦出错】 就会【自动跳转到error.jsp】里面.
isErrorPage="true"
如果一个页面中设置了isErrorPage="true",那么就表示这个【页面是用来专门显示 缺点信息】的页面。
其余在这个页面中【能够利用到隐蔽工具exception】来显示出错误的信息.(须要使 用jsp的内置工具)
eg:<% @page isErrorPage="true " %>
language属性 language="java"
表示当前页面中的编程措辞是java;
目前这个属性值只能写java,不支持其他措辞。
contentType属性
contentType="text/html; charset=UTF-8"
设置做事器将来利用io把jsp页面内容输出给浏览器时,利用什么编码向 浏览器输出。
pageEncoding属性
pageEncoding="UTF-8"
设置jsp页面文件保存时候所用的编码
2,include指令
一个页面包含/引入其余一个页面有俩种办法:
静态包含 动态包含。
静态包含基本格式:
<%@ include file="" %>
浸染:
在当前页面中利用include指令可以把其余一个页面的内容引入到当前页面。
静态include是先把被包含文件的内容全部复制内嵌到包含文件中,再进行编译运行的,以是b中的变量等不能与a重复,否则会报错
动态包含:
<jsp:include page="foot.jsp">
特点:实行到了include语句的时候才触发被包含文件的编译、实行,并实时把结果包含进来。
动态包含与静态包含的差异?
两者都可以包含进来其他页面;
a. 动态包含是动态标签jsp:include实现
静态包含是由指令元素 <%@ include file="" %>实现;
b. 静态包含原封不动载入;动态包含翻译成方法调用;
c. 静态包含不能传参;动态包含可以传参。
传参涌现中文乱码,过滤器可以办理;
动态include与静态include的最大不同在于:包含文件与被包含文件都是先编译实行,再包含。二者的编译阶段是相互独立的,只有在包含文件的include语句处把被包含文件的实行结果包含进来
总结:
静态包含实行效率会更快,但是有可能发生变量冲突的问题。其余利用静态包含如果包含的文件发生了变革的话,所有包含它的servlet都要重新编译更新,这是一个很大的代价。常日情形下利用动态包含比较多。
3,taglib指令
该指令的浸染是在当前jsp页面中【引入一些分外的标签库】.
比如jstl标签库、struts2标签库等。
jsp的动作元素
在jsp文件中,我们之前嵌入的java代码和标签合营涌现,整体风格比较乱,不利用改动与掩护,且代码量过于弘大。
把常见的一些java代码进行封装,就得到了jsp中的动作标签。
把稳:jsp中尽可能不要涌现java代码。
Jsp和servlet的联系:
jsp完备可以实现servlet的功能,但实际开拓里面并不单独利用一种,还是须要合营利用。
JSP和Servlet分工不同:
Servlet用来吸收数据,页面跳转;
jsp用来动态显示页面内容。