pageContext对象是javax.servlet.jsp.PageContext类的实例,只要表示的是一个jsp页面的上下文,而且功能强大,几乎可以操作各种内置对象。

>forward(String relativeUrlPath):将当前页面转发到另外一个页面或者Servlet组建上;
>getRequest():返回当前页面的request对象;
>getResponse():返回当前页面的response对象;
>getServetConfig():返回当前页面的servletConfig对象;
>getServletContext():返回当前页面的ServletContext对象,这个对象是所有的页面共享的.
>getSession():返回当前页面的session对象;
>findAttribute():按照页面,请求,会话,以及应用程序范围的属性实现对某个属性的搜索;
>setAttribute():设置默认页面范围或特定对象范围之中的对象.
>removeAttribute():删除默认页面对象或特定对象范围之中的已命名对象.

pageContext是个功能强大的内置对象,所以在讲解jsp高级编程的时候,标签库编程基本上都要使用pageContext对象完成了。

下面用pageContext完成一次页面跳转功能;

<%@ page contentType="text/html" pageEncoding="GBK"%>
<html>
<head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
<body>
<%
pageContext.forward("pagecontext_forward_demo02.jsp?info=MLDN") ;
%>
</body>
</html>

既然是跳转,那么肯定可以传递参数,此时使用的是地址重写的方式。

<%@ page contentType="text/html" pageEncoding="GBK"%>
<html>
<head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
<body>
<%
// 直接从pageContext对象中取得了request
String info = pageContext.getRequest().getParameter("info") ;
%>
<h3>info = <%=info%></h3>
<h3>realpath = <%=pageContext.getServletContext().getRealPath("/")%></h3>
</body>
</html>

而且地址栏没有改变,服务器端跳转。

需要注意的是,getRequest和getResponse返回值是ServletRequest和ServletResponse,所以只能完成一些基本的功能。

JSP内置对象--pageContext对象(非常重要!!!)的更多相关文章

  1. JSP内置九个对象Request请求对象

    jsp内置对象是什么呢? 例如Java语言使用一个对象之前需要实例化(也就是所说的new一个对象),创建对象这个过程有点麻烦,所以在jsp中提供了一些内置对象,用来实现很多jsp应用.在使用内置对象时 ...

  2. 转:jsp内置对象中page与pageContext与el内置对象pageScope与pageContext区别

    原文地址:jsp内置对象中page与pageContext与el内置对象pageScope与pageContext区别 首先说明一下jsp9大内置对象 (1)HttpSession类的session对 ...

  3. jsp内置对象之response、out、config、exception、pageContext。

    本文是对Jsp内置对象的response.out.config.exception.pageContext知识点的详细总结. response对象 Response内置对象和request内置对象是相 ...

  4. JSP内置对象——application,page,pageContext,config,Exception

    application对象application对象实现了用户数据的共享,可存放全局变量.application开始于服务器的启动,终止于服务器的关闭.在用户的前后链接或不同用户之间的连接中,可以对a ...

  5. Jsp内置对象及EL表达式的使用

    一.JSP的内置对象(9个JSP内置对象) JSP的内置对象引用名称 对应的类型 request HttpServletRequest response HttpServletResponse ses ...

  6. jsp 内置对象(一)

    一.jsp的九大内置对象 内置对象 所属类 pageContext javax.servlet.jsp.PageContext request javax.servlet.http.HttpServl ...

  7. JSP(3) - 9个JSP内置对象 - 小易Java笔记

    1.9个JSP内置对象 内置对象引用名称     对应的类型 request HttpServletRequest response HttpServletResponse config Servle ...

  8. jsp内置对象浅谈

    jsp内置对象浅谈 | 浏览:1184 | 更新:2013-12-11 16:01 JSP内置对象:我们在使用JSP进行页面编程时可以直接使用而不需自己创建的一些Web容器已为用户创建好的JSP内置对 ...

  9. JSP内置对象有哪些呢?

    内置对象 request request 对象是 javax.servlet.httpServletRequest类型的对象. 该对象代表了客户端的请求信息,主要用于接受通过HTTP协议传送到服务器的 ...

  10. JavaWeb学习----JSP内置对象详解

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

随机推荐

  1. samba server 设置

     samba server  设置yum install samba.x86_64systemctl start smb.servicesystemctl enable smb.servicesamb ...

  2. Ztree手风琴效果(第三版)

    第一版:点击一级目录展开,再点击时不能收回 第二版:点击一级目录展开,再点击时可以收回 第三版:优化样式,修复主菜单下的子菜单下级无子节点时点击无反应问题(js报错) <%@ page lang ...

  3. Linux下安装MySQL-5.7

    写在前面:此博客是针对MySQL5.7安装教程,其他版本可能略有不同,仅供参考. 第一步:下载mysql 在Linux终端使用wget命令下载网络资源: wget http://mirrors.soh ...

  4. “Cannot load php5apache2_4.dll into server”问题的解决方法

    摘要 PHP5.5.0+Apache Httpd 2.4.3,完成配置文件的修改后,启动Apache服务器,报Cannot load php5apache2_4.dll into server错误,记 ...

  5. Android面试题集锦 (转)

    转自:http://xiechengfa.iteye.com/blog/1044721 一些常见的Android面试基础题做下总结,看看你能做出多少道? 1. Intent的几种有关Activity启 ...

  6. 弹出框,先弹出遮罩有透明度灰色100%高宽,置顶z-index:999---再弹出框最顶部z-index:9999

    <div class="mask"></div> <div class="maskbox"> <form id=&qu ...

  7. 缓存1 静态缓存-->读库保存成php文件 mkdir-->file_put_contents-->var_export -->include

    @mkdir()-->file_put_contents-->$data =  "<?php\nreturn ".var_export($setting, tru ...

  8. cmstop传递什么控制器和方法---就实例化该控制器

    object顶级类class object 第一级抽象类controllerabstract class controller extends object 第二级抽象类controller_abst ...

  9. LeetCode OJ 160. Intersection of Two Linked Lists

    Write a program to find the node at which the intersection of two singly linked lists begins. For ex ...

  10. 安装 nodejs

    接下来使用npm命令安装express和socket.io 没有的话 用yum 安装一下 12 npm install --save expressnpm install --save socket. ...