JSP的指令和内置对象

在接触JSP后对JSP的编译指令和动态指令以及JSP的内置对象会经常混淆,闲来再看这块内容的时候,想着简单归纳记录一下,方便自己查看也方便需要的朋友们。

1.JSP的三个编译指令

page:该指令是针对当前页面的指令,page指令通常位于JSP页面的顶端,一个JSP页面可以使用多条page指令;
include:用于指定包含另一个页面,这是静态的include语句,它会把目标页面的其他编译指令也包含进来;
taglib:用于定义和访问自定义标签;
使用编译指令的语法格式如下:
<%@ 编译指令名 属性名="属性值" %>

2.JSP的七个动态指令

动态指令与编译指令不同,编译指令是通知Servlet引擎的处理消息,而动态指令只是运行时的动作。编译指令在将JSP编译成Servlet时起作用;而动态指令通常可替换成JSP脚步,它只是JSP脚本的标准化写法。
JSP动作指令主要有如下七个:
jsp:forward:执行页面跳转,将请求的处理转发到下一个页面。
jsp:param:用于传递参数,必须与其他支持参数的标签一起使用。
jsp:include:用于动态引入一个JSP页面。
jsp:plugin:用于下载JavaBean或Applet到客户端执行。
jsp:useBean:创建一个JavaBean的实例。
jsp:setProperty:设置JavaBean实例的属性值。

jsp:getProperty:输出JavaBean实例的属性值。

3.JSP脚本的9个内置对象

JSP脚本中包含9个内置对象,这9个内置对象都是Servelet API接口的实例,只是JSP规范对它们进行了初始化,也就是说,它们已经是对象,可以直接使用。9个内置对象依次如下:
application:javax.servlet.ServletContext的实例,该实例代表JSP所属的Web应用本身,可用于JSP页面或者在Servlet之间交换信息。通常的方法有getAttribute(String attName)、setAttribute(String attName, String attValue)、getInitParameter(String parameName)等。

config:javax.servlet.ServletConfig的实例,该实例代表该JSP的配置信息。常用的方法有getInitParameter(String parameName)、getInitParameternames()等。事实上,JSP页面通常无需配置,也就不存在配置信息,该对象更多的在servlet中有效。

exception:java.lang.Throwable的实例,该实例代表其他页面中的异常和错误。只有当页面是错误处理页面,即编译命令page的isErrorPage属性为true时,该对象才可以使用。常用的方法有getMessage()和printStackTrace()等。

out:javax.servlet.jsp.JspWriter的实例,该实例代表JSP页面的输出流,用于输出内容,形成HTML页面。

page:代表该页面本身,通常没有太大用处,也就是servlet中的this,其类型就是生成的Servlet类,能用page的地方就能用this。

pageContext:javax.servlet.jsp.pageContext的实例,该对象代表该JSP页面上下文,使用该对象可以访问页面中的共享数据,常用的方法有getServletContext()和getServletConfig()等。

request:javax.servlet.http.HttpServletRequest的实例,该对象封装了一次请求,客户端的请求参数都被封装在该对象里,这是一个常用的对象,获取客户端请求参数必须使用该对象。常用的方法有getParameter(String parameName)、getParameterValues(String parameName)、getAttribute(String attName)、setAttribute(String attName, Object attValue)和setCharacterEncoding(String env)等。

response:javax.servlet.http.HttpServletResponse的实例,代表服务器对客户端的响应。通常很少使用该对象直接响应,而是使用out对象,除非需要生产非字符响应。而response通常用于重定向,常用的方法有getOutputStream()、sendRedirect(String location)等。

session:javax.servlet.http.HttpServletSession的实例,该对象代表一次会话。当客户端浏览器与站点建立连接时,会话开始;当客户端关闭浏览器时,会话结束。常用的方法有:getAttribute(String attName)、setAttribute(String attName, Object attValue)等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值