日期:2014-05-16 浏览次数:20334 次
JSP程序由JSP Engine(JSP引擎) 先将它转换成Servlet代码,接着将它编译成类文件载入执行。 只有当客户端第一次请求JSP时,才需要将其转换、编译 ? ? Directive 指令? Directive是编译期间执行的指令,常见的指令有:page include taglib ? page:指明与JSP Container(JSP容器)的沟通方式 <%@ page language="java" ??????? import="java.io.*,java.util.*"???? 引入包和类 ??????? errorPage="errorPageUrl"??????????? 如果页面出现错误,跳转到哪个页面 ??????? isErrorPage="false"????????????????? 当前页面是否为一个错误页面 ??????? contentType="text/html; charset=GB2312"字符编码形式 ??????? extends="index.jsp"????????????????? 指明这个jsp页面是从哪个jsp继承过来的 ??????? buffer="8KB"?????????????????????????? 缓冲区,默认为8K。none代表不缓冲 ??????? session="true"??????????????????????? 是否使用session,默认为true ??????? autoFlush="true"????????????????????? 页面输出完成后,是否自动刷新到客户端 ??????? info="InfoText"?????????????????????? 指明JSP相关的描述信息? %> ? include: JSP Engine会在jsp程序的转换期间先把file属性设定的文件包含进来,然后开始执行转换及编译 <%@ include file="index.jsp"%>//index.jsp后面不能接参数。因为这是一个编译指令 ? ? ? Declaration 声明 <%? int i = 0;//这种声明,i为局部变量 %> <%! int j = 0;//这种声明,j为成员变量(全局变量) public void getMessage(){}//我们可以在此定义成员方法 %> ? ? ? Action 运行期间的指令 Action是运行期间的指令,常见的指令有:jsp:useBean?? jsp:include?? jsp:forward ? jsp:include 用于动态的JSP程序或HTML文件 除非这个指令被执行到,否则它是不会被Tomcat等JSP Engine编译 <jsp:include page="URLSpec"> ??? <jsp:param name="ParamName" value="ParmValue"/> //用来设定include文件时的参数和值 </jsp:include> jsp:forward 用于将一个jsp页面的内容传送到page所指定的jsp程序或者servlet中处理 <jsp:forward page="index.jsp"> ??? <jsp:param name="paramName" value="paramValue"/> </jsp:forward> ? ? <jsp:forward>与response.sendRedirect的区别 ?????? 1、跳转发生在服务器端,跳转后,客户端的URL地址依然是1.jsp的地址
<jsp:forward>?