一、JSP指令
JSP指令(directive)是为JSP引擎而设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理JSP页面中的其余部分。
在目前的JSP 2.0中,定义了page、include 和 taglib这三种指令。
二、page 指令
page指令用于定义JSP页面的各种属性, 无论page指令出现在JSP页面中的什么地方, 它作用的都是整个JSP页面, 为了保持程序的可读性和遵循良好的编程习惯, page指令最好是放在整个JSP页面的起始位置。
下面来介绍下page 指令中常用的属性:
- import 属性:指定当前 JSP 页面对应的 Servlet 需要导入的类。
<%@page import="java.text.DateFormat"%>
- session 属性:取值为 true 或 false,指定当前页面的 session 隐藏变量是否可用,也可以说访问当前页面时是否一定要生成 HttpSession对象。
<%@ page session="false" %>
- errorPage 和 isErrorPage属性:
①. errorPage 属性指定若当前页面出现错误的实际响应页面是什么。其中 / 表示的是当前 WEB 应用的根目录。
<%@ page errorPage="/error.jsp" %>
②. 在响应 error.jsp 时,JSP 引擎使用的请求转发的方式。
③. isErrorPage 属性指定当前页面是否为错误处理页面,可以说明当前页面是否可以使用 exception 隐藏变量。需要注意的是:若指定
isErrorPage=“true”,并使用 exception 的方法了,一般不建议能够直接访问该页面。
④. 如何使客户不能直接访问某一个页面呢 ?对于 Tomcat 服务器而言,WEB-INF 下的文件是不能通过在浏览器中直接输入地址的方式来访问的。但通过请求的转发是可以的!
⑤. 还可以在 web.xml 文件中配置错误页面:
<error-page>
<!-- 指定出错的代码: 404 没有指定的资源, 500 内部错误。 -->
<error-code>404</error-code>
<!-- 指定响应页面的位置 -->
<location>/WEB-INF/error.jsp</location>
</error-page>
<!-- 或者这样配 -->
<error-page>
<!-- 指定异常的类型 -->
<exception-type>java.lang.ArithmeticException</exception-type>
<!-- 指定响应页面的位置 -->
<location>/WEB-INF/error.jsp</location>
</error-page>
- contentType:指定当前 JSP 页面的响应类型。实际调用的是 response.setContentType(“text/html; charset=UTF-8”);通常情况下,对于 JSP 页面而言其取值均为 text/html;charset=UTF-8。charset 指定返回的页面的字符编码是什么,通常取值为 UTF-8。
- pageEncoding:指定当前 JSP 页面的字符编码。通常情况下该值和 contentType 中的 charset 一致。
- isELIgnored:指定当前 JSP 页面是否可以使用 EL 表达式。通常取值为 false。
三、include指令
include 指令用于通知 JSP 引擎在翻译当前 JSP 页面时将其他文件中的内容合并进当前 JSP 页面转换成的 Servlet 源文件中,这种在源文件级别进行引入的方式称之为静态引入,当前JSP页面与静态引入的页面紧密结合为一个Servlet。
<%@ include file="b.jsp" %>
小细节:
file属性的设置值必须使用相对路径
如果以 / 开头,表示相对于当前WEB应用程序的根目录(注意不是站点根目录),否则,表示相对于当前文件。