pageContext对象

 

pageContext对象

    pageContext对象是JSP技术中最重要的一个对象,它代表JSP页面的运行环境,这个对象不仅封装了对其它8大隐式对象的引用,它自身还是一个域对象,可以用来保存数据。并且,这个对象还封装了web开发中经常涉及到的一些常用操作,例如引入和跳转其它资源、检索其它域对象中的属性等。

通过pageContext获得其他对象

    getException方法返回exception隐式对象

    getPage方法返回page隐式对象

    getRequest方法返回request隐式对象

    getResponse方法返回response隐式对象

    getServletConfig方法返回config隐式对象

    getServletContext方法返回application隐式对象

    getSession方法返回session隐式对象

    getOut方法返回out隐式对象

    pageContext封装其它8大内置对象的意义,思考:如果在编程过程中,把pageContext对象传递给一个普通java对象,那么这个java对象将具有什么功能? 

pageContext作为域对象

pageContext对象的方法

    public void setAttribute(java.lang.String name,java.lang.Object value)

    public java.lang.Object getAttribute(java.lang.String name)

    public void removeAttribute(java.lang.String name)

pageContext对象中还封装了访问其它域的方法

    public java.lang.Object getAttribute(java.lang.String name,int scope)

    public void setAttribute(java.lang.String name, java.lang.Object value,int scope)

    public void removeAttribute(java.lang.String name,int scope)

代表各个域的常量

    PageContext.APPLICATION_SCOPE

    PageContext.SESSION_SCOPE

    PageContext.REQUEST_SCOPE

    PageContext.PAGE_SCOPE

findAttribute方法    (*重点,查找各个域中的属性)

引入和跳转到其他资源

    PageContext类中定义了一个forward方法和两个include方法来分别简化和替代RequestDispatcher.forward方法和include方法。

方法接收的资源如果以“/”开头, “/”代表当前web应用。

JSP标签

    JSP标签也称之为Jsp Action(JSP动作)元素,它用于在Jsp页面中提供业务逻辑功能,避免在JSP页面中直接编写java代码,造成jsp页面难以维护。

JSP常用标签

1、<jsp:include>标签 

    <jsp:include>标签用于把另外一个资源的输出内容插入进当前JSP页面的输出内容之中,这种在JSP页面执行时的引入方式称之为动态引入。

语法:

       <jsp:include page="relativeURL | <%=expression%>" flush="true|false" />

 

page属性用于指定被引入资源的相对路径,它也可以通过执行一个表达式来获得。

flush属性指定在插入其他资源的输出内容时,是否先将当前JSP页面的已输出的内容刷新到客户端。 

<jsp:include>与include指令的比较

    <jsp:include>标签是动态引入, <jsp:include>标签涉及到的2个JSP页面会被翻译成2个servlet,这2个servlet的内容在执行时进行合并。

而include指令是静态引入,涉及到的2个JSP页面会被翻译成一个servlet,其内容是在源文件级别进行合并。

不管是<jsp:include>标签,还是include指令,它们都会把两个JSP页面内容合并输出,所以这两个页面不要出现重复的HTML全局架构标签,否则输出给客户端的内容将会是一个格式混乱的HTML文档。

 

 

2、<jsp:forward>标签 

    <jsp:forward>标签用于把请求转发给另外一个资源。

语法:

       <jsp:forward page="relativeURL | <%=expression%>" />

page属性用于指定请求转发到的资源的相对路径,它也可以通过执行一个表达式来获得。

 

3、<jsp:param>标签 

    当使用<jsp:include>和<jsp:forward>标签引入或将请求转发给其它资源时,可以使用<jsp:param>标签向这个资源传递参数。

语法1:

       <jsp:include page="relativeURL | <%=expression%>">

              <jsp:param name="parameterName" value="parameterValue|<%= expression %>" />

       </jsp:include>

语法2:

       <jsp:forward page="relativeURL | <%=expression%>">

              <jsp:param name="parameterName" value="parameterValue|<%= expression %>" />

       </jsp:include>

<jsp:param>标签的name属性用于指定参数名,value属性用于指定参数值。在<jsp:include>和<jsp:forward>标签中可以使用多个<jsp:param>标签来传递多个参数。

映射JSP

<servlet>

       <servlet-name>SimpleJspServlet</servlet-name>

       <jsp-file>/jsp/simple.jsp</jsp-file>

       <load-on-startup>1</load-on-startup >

</servlet>

       ……

<servlet-mapping>

       <servlet-name>SimpleJspServlet</servlet-name>

       <url-pattern>/xxx/yyy.html</url-pattern>

</servlet-mapping>

如何查找JSP页面中的错误

    JSP页面中的JSP语法格式有问题,导致其不能被翻译成Servlet源文件,JSP引擎将提示这类错误发生在JSP页面中的位置(行和列)以及相关信息。

    JSP页面中的JSP语法格式没有问题,但被翻译成的Servlet源文件中出现了Java语法问题,导致JSP页面翻译成的Servlet源文件不能通过编译,JSP引擎也将提示这类错误发生在JSP页面中的位置(行和列)以及相关信息。

    JSP页面翻译成的Servlet程序在运行时出现异常,这与普通Java程序的运行时错误完全一样,Java虚拟机将提示错误发生在Servlet源文件中的位置(行和列)以及相关信息。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: PageContext对象JSP页面的一个内置对象,它提供了访问JSP页面的各种信息的方法。PageContext对象的作用包括: 1. 提供了访问请求、响应、会话和应用程序上下文等对象的方法,方便JSP页面的代码访问这些对象。 2. 提供了访问JSP页面的各种作用域(page、request、session、application)的方法,方便JSP页面的代码存取和共享数据。 3. 提供了访问JSP页面的EL表达式的方法,方便JSP页面的代码使用EL表达式。 4. 提供了访问JSP页面的标签库的方法,方便JSP页面的代码使用标签库。 总之,PageContext对象JSP页面非常重要的一个内置对象,它提供了访问JSP页面各种信息的方法,方便JSP页面的代码编写和开发。 ### 回答2: PageContext对象JSP页面的内置对象之一,它提供了许多有用的方法来访问JSP页面的相关信息。PageContext对象的主要作用有以下几个方面: 1. 访问请求和响应对象 PageContext对象通过getRequest()和getResponse()方法,提供了对HttpServletRequest和HttpServletResponse对象的访问,可以通过这些对象获取或设置请求和响应的头部信息、参数、属性,执行重定向等操作。 2. 访问会话对象 PageContext对象通过getSession()方法,提供了对HttpSession对象的访问,可以通过HttpSession对象来存储和获取当前会话的信息。 3. 访问ServletContext对象 PageContext对象通过getServletContext()方法,提供了对ServletContext对象的访问,可以通过ServletContext对象来获取应用程序的初始化参数、获取共享的属性,获取资源等。 4. 访问页面属性 PageContext对象通过getAttribute()、setAttribute()、removeAttribute()方法,提供了对页面属性的访问和操作。 5. 访问页面的其他内置对象 PageContext对象还提供了对其他内置对象的访问,包括:page、request、response、session、application、out、config等。 6. 实现页面的转发和包含 PageContext对象提供了forward()、include()方法,实现了页面的转发和包含,可以在当前页面实现页面跳转和数据共享。 综上所述,PageContext对象JSP页面非常重要的一个内置对象,它提供了许多有用的方法和属性,方便我们对页面请求和响应进行处理、获取会话和应用程序的信息、管理各种页面上下文信息,以及实现页面的转发和包含等功能。 ### 回答3: PageContext对象JSP页面十分重要的一个对象,它提供了与服务器、请求和应答有关的所有信息并允许用户访问各种范围的对象PageContext对象位于javax.servlet.jsp,在JSP页面上下文,它是一个预定义的对象,可以直接使用。 PageContext对象的主要作用如下: 1.提供请求和应答对象:通过PageContext对象可以获得HttpServletRequest和HttpServletResponse对象,从而可以访问请求和应答对象的相关属性和方法。 2. 提供Session范围的信息:通过PageContext对象可以获取Session对象,从而可以访问Session范围的属性和方法。 3. 提供Application范围的信息:PageContext对象也提供了访问Application对象的方法,从而可以获取Application范围内的信息。 4. 提供页面级别范围的信息:PageContext对象提供了访问页面级别范围内各种对象的方法,如page、request、session和application对象。 5. 提供访问JSP页面的相关信息:PageContext对象还提供了获取所在JSP页面的相关信息的方法,如获取JSP页面的路径、名称、Servlet上下文等信息。 总之,PageContext对象JSP页面非常重要的一个对象,它提供了访问各种范围内的对象和属性的方法,能够辅助用户进行动态网页的开发工作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值