有参数时可以使用
2023-11-21
pageContext 对象的对应类型是javax.servlet.jsp.PageContext,它的创建和初始化都是由容器来完成的。
pageContext 对象为访问页面作用域中定义的所有内置对象提供了访问的方法。pageContext 对象中常用的方法见表5.5。
表5.5 pageContext 对象常用的方法
从pageContext 对象提供的方法可以看出,pageContext 对象实际上是为用户提供了访问其他内置对象的统一入口,在多数情况下,直接利用pageContext 对象就可以完成想要实现的功能。
在pageContext 对象中,可以使用下面setAttribute()和getAttribute()方法来设置和获取属性。利用pageContext 对象,还可以设置和得到在其他范围对象中保存的属性。 pageContext 对象提供了另外两个重载的 setAttribute()和getAttribute()方法,如下:
➢ public abstract void setAttribute(String name, Object value, int scope)
➢ public abstract Object getAttribute(String name, int scope)
其中的scope 参数用于指定要获取哪一个范围对象的属性,有4 个可能的取值,其中PageContext.PAGE_SCOPE 表示页面(page)范围;PageContext.REQUEST_ SCOPE表示请求(request)范围;PageContext.SESSION_ SCOPE 表示会话(session)范围;PageContext.APPLICATION_SCOPE 表示Web 应用程序(application)范围。如例5.2 所示。
例5.2:pageContext 对象的使用。
本例中,在ch06 项目中建立两个JSP 页面:from.jsp 和to.jsp。在from.jsp 中接收传入的参数userName,并将其存入request 作用域中,然后跳转到to.jsp 页面。在to.jsp 页面通过两种方式获取到request 作用域的属性值,并使用setAttribute()方法将该值存入pageContext 对象中,然后使用getAttribute()方法获取并输出。(www.chuimin.cn)
from.jsp 页面代码如下:
to.jsp 页面代码如下:
在浏览器中访问http://localhost:8080/ch06/from.jsp?userName=zhangsan。运行效果如图5.2 所示。
图5.2 使用pageContext 对象
从图5.2 可以看出,能正确获取到属性值,并且地址栏的URL 没有发生改变,这表明pageContext 对象的forward()方法和RequestDispatcher 对象的forward()方法使用的机制是相同的,都属于内部跳转。其实pageContext 对象的forward()方法的内部实现是调用了RequestDispatcher 对象的forward()方法。此外,pageContext对象还有一个include()方法也和RequestDispatcher 对象的include()方法相同。
有关Java Web应用开发的文章
有参数时可以使用
2023-11-21
out 对象实际上是PrintWriter 对象的带缓冲的版本,可以通过page 指令的buffer属性来调整缓冲区的大小,默认的缓冲区是8 kb。表5.2out 对象中与缓存区操作相关的方法out 对象针对不同的数据类型,提供了多个重载的print()和println()方法,用于输出数据。out.newLine():输出一个换行符。例5.1:out 对象使用示例。建立Java Web 项目ch06,并在WebRoot 文件夹下建立out.jsp 文件,其内容如下:发布ch06 项目,并启动Tomcat 服务器。图5.1在浏览器中查看运行效果和源代码......
2023-11-21
当Servlet 进行初始化时,容器把配置信息通过此对象传递给这个Servlet。config 对象的主要方法可以参见第2 章“Servlet 常用API”小节关于ServletConfig 的介绍。在ch06 项目的web.xml 的根元素下添加如下配置:在上述配置中,可以看出配置的初始化参数名称为configFile,值为一个文件名。
2023-11-21
对于一个容器而言,所有用户都共同使用一个application对象,这和session 对象是不一样的。服务器启动后,就会自动创建application 对象并一直保持,直到服务器关闭为止。因为application 对象的类型为ServletContext,用法上和Servlet 中的用法完全一样。application 对象的主要方法可以参见第2 章“Servlet 常用API”小节关于ServletContext 的介绍。以下介绍application 对象的常见应用。......
2023-11-21
只需依据信息的有效范围选择合适的作用域对象即可。表5.3 列出了这4 种作用域,并说明了它们是否能应用于Servlet 和JSP 页面,还给出了对每种作用域的描述。表5.3作用域说明在这4 种作用域中,每一种都有一个不同的机制,用于存储并最终访问上下文相关的数据。表5.4 列出了4 个类,分别对应于4 种会话作用域。表5.4作用域的对应类......
2023-11-21
只有当页面是错误处理页面,即page 指令的isErrorPage 属性为true 时,该对象才可以使用。常用的方法有getMessage()和printStackTrace()等。在JSP 页面中,可以利用page 指令的errorPage 属性指定一个错误处理页面,当JSP页面运行发生错误时,JSP 容器会自动调用指定的错误处理页面。下面看一个例子。当向price.jsp 页面传入的金额不合法时将会导致异常的发生。price.jsp 页面的代码如下:excep.jsp 页面的代码如下:使用“http://localhost:8080/ch06/price.jsp?p=1000.50”访问price.jsp,运行效果如图5.3 所示。图5.4exception 对象示例......
2023-11-21
在JSP 中,经常使用
2023-11-21
问卷调查回答结果提示信息上一章详细介绍了JSP 的基本语法,已经对JSP 技术有一个初步的了解。但是应用上一章讲述的JSP 知识只能编写一部分简单的程序,如果需要实现一些比较复杂高级的功能,例如网上购物、在线聊天室等,仅靠上一章介绍的知识是明显不够的。在上一章介绍JSP 技术原理/运行机制的时候,提到在JSP 技术内部已经定义好了若干个JSP 内部对象,应用这些内部对象,可以实现很多重要的功能来简化页面的开发。......
2023-11-21
相关推荐