日期:2014-05-16  浏览次数:20437 次

JSP的三大指令 七大动作 九大对象

JSP的三个编译指令
Page:该指令是针对当前页面的指令<%@ page [Attribute="Value"] %>
?language:声明当前jsp页面使用的脚本语言的种类,通常是java,默认是java,无需设置
?extends:指定jsp编译产生的类继承的父类,或者实现的接口
?import:用于导入包,默认已经导入的包有

java.lang.*,javax.servlet.*,javax.servlet.jsp.*,javax.servlet.http.*
?session:设定这个jsp页面是否需要HttpSession
?buffer:指定输出缓冲区的大小
?autoflush:当缓冲区即将溢出时,是否自动强制输出缓冲区的内容
?info:设置该JSp程序的信息,采用Servlet.getServletInfo()获取该值
?errorPage:指定错误处理页
?isErrorPage:设置本JSp是否为错误处理程序
?ContentType:用于设定生成网页的文件格式和编码格式
include:用于指定包含另一个页面<%@include file="path"%>

taglib:用于定义和访问自定义标签

//=============================================
JSP的7个动作指令
jsp:forward 执行页面转向,将请求的处理交给下一个页面
?<jsp:forward page="path<%expression%>">
??<jsp:param name="" value="" />
?</jsp:forward>
?常和param指令一起
jsp:param 用于传递参数,必须与其他支持参数的标签一起使用

jsp:include 用于动态引入一个jsp页面
?<jsp:include page="<url|expressions>"? flush='true'/>
?也可以在标签内向引用页面传递param

jsp:plugin 用于下载javaBean 或Applet到客户端执行

jsp:useBean 创建一个javaBean实例
?<jsp:seBean id="name" class="classname" scope="page|request|session|application" />
?scope属性:page:该javaBean实例仅在本页面有效
??request: 仅本次请求有效
??session:在本次session有效
??application:在本应用内一直有效
??
jsp:setProperty 设置javaBean实例的属性值
?<jsp:setProperty? name="BeanName" property="propertyName" value="" />

jsp:getProperty 取得JavaBean实例的属性值
?<jsp:getProperty name="beanName" property="propertyName">

//======================================
JSP的9大内置对象
1.application javax.servlet.ServletContext 的实例,代表JSp所属的web应用本身,可用于页面之间交换信息
2.config javax.servlet.ServletConfig 的实例,代表JSP的配置信息,常用的方法有
?getInitParameter(String paramName)
?getInitParameternames()
3.exception java.lang.Throwable 的实例,代表其他页面中的异常和错误,只用当页面时错误处理页面,即page的

isErrorPage=true
?时,该对象才可以使用,方法getMessage(),printStackTrace()
4.out javax.servlet.jsp.JspWriter 的实例,该实例代表jsp的页面输出流,用于输出内容
5.page:代表页面本身,也就是servlet中的this,一般不用
6.pageContext javax.servlet.jsp.PageContext的实例,该对象代表该jsp的上下文,使用该对象可以访问页面中的

共享数据
?常用方法:getServletContext() getServletConfig()
7.request javax.servlet.http.HttpServletRequest 的实例,封装了一次请求
8.response javax.servlet.http.HttpServletResponse的实例,封装了一次响应
9.session javax.servlet.http.HttpSession 的实例,代表一次会话

?