一个jsp页面中,可以有0~N个指令的定义!
1. page --> 最复杂
:<%@page language="java" info="xxx"...%>
* pageEncoding和contentType:
> pageEncoding:它指定当前jsp页面的编码,只要不说谎,就不会有乱码!在服务器要把jsp编译成.java时需要使用pageEncoding!
什么叫做不说谎:
本页面的配置的utf-8 和页面上的配置,编码格式是相同的,那么就不会不限乱码
> contentType:它表示添加一个响应头:Content-Type!等同与response.setContentType("text/html;charset=utf-8");
如果两个属性只提供一个,那么另一个的默认值为设置那一个,就是一个是utf-8 另外一个标签不用写也是默认的utf-8
> 如果两个属性都没有设置,那么默认为iso
如果jsp 的配置的utf-8 变为gbk 那么配置也会自动变成gbk,所以一般不会出现乱码的情况
* import:导包!可以出现多次
* errorPage和isErrorPage
> errorPage:当前页面如果抛出异常,那么要转发到哪一个页面,由errorPage来指定
> isErrorPage:它指定当前页面是否为处理错误的页面!当该属性为true时,这个页面会设置状态码为500!而且这个页面可以使用9大内置对象中的exception!
*
<error-page>
<error-code>404</error-code>
<location>/error/errorPage.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code> //都是服务端错误都是走这个页面
<location>/error/errorPage.jsp</location>
</error-page>
<error-page>
<exception-type>java.lang.RuntimeException</exception-type> //细化了具体的异常,就是只有运行时异常的时候才走这个页面
<location>/index.jsp</location>
</error-page>