jsp隐式对象

servlet容器会传递给几个对象给它运行的servlet。像什么HttpServeltRequest,ServletConfig等对象。

在jsp中,可以通过使用隐式对象来访问上述对象。

对象描述
request HttpServletRequest类的实例
response HttpServletResponse类的实例
out JspWriter类的实例,用于把结果输出至网页上
session HttpSession类的实例
application ServletContext类的实例,与应用上下文有关
config ServletConfig类的实例
pageContext PageContext类的实例,提供对JSP页面所有对象以及命名空间的访问
page 类似于Java类中的this关键字
exception Exception类的对象,代表发生错误的JSP页面中对应的异常对象

下面的代码从HTTPServletReques对象中返回username参数值:

<%

  String userName = request.getParameter("userName");

%>

此外,PageContext提供了另外一组有趣的方法:用于获取和设置属性的方法,即getAttribute和setAttribute方法。属性值可以被储存在4个范围之一:页面,请求,会话和应用程序。

页面是最小的范围,这里存储的属性只在同一个JSP页面可用。请求范围是指当前的ServletRequeset中。会话范围指当前的HttpSession中,应用程序范围指应用的ServletContext中。

PageContext的setAttirbute的方法签名如下:

public abstract void setAttribute(java.lang.String name , java.lang.Object value , int scope)                其中scope的取值范围为PageContext对象的最终静态int值:PAGE_SCOPE,REQUEST_SCOPE,SESSION_SCOPE,APPLICATION_SCOPE

要是保存在ServletRequest中,则可以直接<%request.setAttribute("product",product);%>

posted @ 2017-09-21 10:53  汪神  阅读(107)  评论(0编辑  收藏  举报