JSP执行过程html
在转译后的Servlet的源代码中(.java),存在_jspService的方法,该方法将JSP中的java代码原封不动地翻译出来,而其中的html则经过out.write("<html标签>\r\n")这样的方法翻译出来;java
JSP声明<%! java代码%>;JSP注释<%--注释内容--%>;web
JSP指令:jsp
基本的语法格式<%@ 指令 属性名= ‘值’ %>spa
JSP有3大指令:翻译
经常使用属性:code
import属性,引入多个包和类,之间用逗号隔开;注:Jsp页面默认自动导入的包有java.lang.*,javax.servlet.*,javax.servlet.jsp.*,javax.servlet.http.*;xml
errorPage属性,指明当出错后所跳转的页面,其中“/”表示 WEB程序的根目录;也能够在web.xml中设置好其出错后的处理方式,不过其优先级低于errorPage指令;htm
如若使用web.xml设置出错处理方式,是经过<error-page>标签实现的,该标签有3个子元素:<error-code>:(指定错误状态码)、<exception-type>:(指定异常类的彻底限定名)、<location>(指定处理的跳转页面);对象
isErrorPage属性,默认状况下的false状态,能够在错误页面中设置为true,其做用_jspService方法中会多提供声明一个exception对象,可经过该对象获取错误信息,如:
<body> 异常信息以下:<%=exception.getMessage()%>
</body>
<%@include file="/xxx/xxx" %>
其中第一个“/”表示当前web应用;
与jsp:include指令加以区分,这个指令为动态指令,其运行流程是将所include的文件运行后将结果返回;
<%@taglib uri="/xxx" prefix="xxx"%>
uri属性:定位标签库描述符的位置。惟一标识和前缀相关的标签库描述符,能够使用绝对或相对
prefix属性:标签的前缀,区分多个自定义标签。不能够使用保留前缀和空前缀,遵循XML命名空间的命名约定。