①errorPage和isErrorPage
第一个jsp,会报错
<%@page errorPage="ErrPage.jsp" %>
<%
String s = "213hd";
int i = Integer.parseInt(s);
out.println(i);
%>
第二个jsp,用来处理错误
<%@page isErrorPage="true" %>
<html>
<head>
<title>Insert title here</title>
</head>
<body text="red">
错误信息<%= exception.getMessage() %>
</body>
</html>
当第一个页面中存在错误时,就会自动跳转到第二个页面,而第二个页面可以自己决定怎么显示错误信息,这样就避免了将过于专业的错误信息展示给客户,造成用户不友好。
②include指令
格式:<% @include file="fileURL" %>
将指定的jsp或者HTML文件包含进来。注意,这和上面的一样,都是编译期间的指令。也就是说JSP Engine会在JSP程序转换期间,先把include的文件原封不动的包含进来,然后才开始编译。
于是,就不能在fileURL后面跟参数,比如这种写法就是错误的<%@include file="abc.jsp?id=3" %>,因为还没有编译,无法识别后面跟着的参数是什么意义。