📄 pagecontext.java
字号:
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package javax.servlet.jsp;
import java.io.IOException;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpSession;
import javax.servlet.jsp.tagext.BodyContent;
/**
* <p>
* PageContext extends JspContext to provide useful context information for
* when JSP technology is used in a Servlet environment.
* <p>
* A PageContext instance provides access to all the namespaces associated
* with a JSP page, provides access to several page attributes, as well as
* a layer above the implementation details. Implicit objects are added
* to the pageContext automatically.
*
* <p> The <code> PageContext </code> class is an abstract class, designed to be
* extended to provide implementation dependent implementations thereof, by
* conformant JSP engine runtime environments. A PageContext instance is
* obtained by a JSP implementation class by calling the
* JspFactory.getPageContext() method, and is released by calling
* JspFactory.releasePageContext().
*
* <p> An example of how PageContext, JspFactory, and other classes can be
* used within a JSP Page Implementation object is given elsewhere.
*
* <p>
* The PageContext provides a number of facilities to the page/component
* author and page implementor, including:
* <ul>
* <li>a single API to manage the various scoped namespaces
* <li>a number of convenience API's to access various public objects
* <li>a mechanism to obtain the JspWriter for output
* <li>a mechanism to manage session usage by the page
* <li>a mechanism to expose page directive attributes to the scripting
* environment
* <li>mechanisms to forward or include the current request to other active
* components in the application
* <li>a mechanism to handle errorpage exception processing
* </ul>
*
* <p><B>Methods Intended for Container Generated Code</B>
* <p>Some methods are intended to be used by the code generated by the
* container, not by code written by JSP page authors, or JSP tag library
* authors.
* <p>The methods supporting <B>lifecycle</B> are <code>initialize()</code>
* and <code>release()</code>
*
* <p>
* The following methods enable the <B>management of nested</B> JspWriter
* streams to implement Tag Extensions: <code>pushBody()</code>
*
* <p><B>Methods Intended for JSP authors</B>
* <p>
* The following methods provide <B>convenient access</B> to implicit objects:
* <code>getException()</code>, <code>getPage()</code>
* <code>getRequest()</code>, <code>getResponse()</code>,
* <code>getSession()</code>, <code>getServletConfig()</code>
* and <code>getServletContext()</code>.
*
* <p>
* The following methods provide support for <B>forwarding, inclusion
* and error handling</B>:
* <code>forward()</code>, <code>include()</code>,
* and <code>handlePageException()</code>.
*/
abstract public class PageContext
extends JspContext
{
/**
* Sole constructor. (For invocation by subclass constructors,
* typically implicit.)
*/
public PageContext() {
}
/**
* Page scope: (this is the default) the named reference remains available
* in this PageContext until the return from the current Servlet.service()
* invocation.
*/
public static final int PAGE_SCOPE = 1;
/**
* Request scope: the named reference remains available from the
* ServletRequest associated with the Servlet until the current request
* is completed.
*/
public static final int REQUEST_SCOPE = 2;
/**
* Session scope (only valid if this page participates in a session):
* the named reference remains available from the HttpSession (if any)
* associated with the Servlet until the HttpSession is invalidated.
*/
public static final int SESSION_SCOPE = 3;
/**
* Application scope: named reference remains available in the
* ServletContext until it is reclaimed.
*/
public static final int APPLICATION_SCOPE = 4;
/**
* Name used to store the Servlet in this PageContext's nametables.
*/
public static final String PAGE = "javax.servlet.jsp.jspPage";
/**
* Name used to store this PageContext in it's own name table.
*/
public static final String PAGECONTEXT = "javax.servlet.jsp.jspPageContext";
/**
* Name used to store ServletRequest in PageContext name table.
*/
public static final String REQUEST = "javax.servlet.jsp.jspRequest";
/**
* Name used to store ServletResponse in PageContext name table.
*/
public static final String RESPONSE = "javax.servlet.jsp.jspResponse";
/**
* Name used to store ServletConfig in PageContext name table.
*/
public static final String CONFIG = "javax.servlet.jsp.jspConfig";
/**
* Name used to store HttpSession in PageContext name table.
*/
public static final String SESSION = "javax.servlet.jsp.jspSession";
/**
* Name used to store current JspWriter in PageContext name table.
*/
public static final String OUT = "javax.servlet.jsp.jspOut";
/**
* Name used to store ServletContext in PageContext name table.
*/
public static final String APPLICATION = "javax.servlet.jsp.jspApplication";
/**
* Name used to store uncaught exception in ServletRequest attribute
* list and PageContext name table.
*/
public static final String EXCEPTION = "javax.servlet.jsp.jspException";
/**
* <p>
* The initialize method is called to initialize an uninitialized PageContext
* so that it may be used by a JSP Implementation class to service an
* incoming request and response within it's _jspService() method.
*
* <p>
* This method is typically called from JspFactory.getPageContext() in
* order to initialize state.
*
* <p>
* This method is required to create an initial JspWriter, and associate
* the "out" name in page scope with this newly created object.
*
* <p>
* This method should not be used by page or tag library authors.
*
* @param servlet The Servlet that is associated with this PageContext
* @param request The currently pending request for this Servlet
* @param response The currently pending response for this Servlet
* @param errorPageURL The value of the errorpage attribute from the page
* directive or null
* @param needsSession The value of the session attribute from the
* page directive
* @param bufferSize The value of the buffer attribute from the page
* directive
* @param autoFlush The value of the autoflush attribute from the page
* directive
*
* @throws IOException during creation of JspWriter
* @throws IllegalStateException if out not correctly initialized
* @throws IllegalArgumentException If one of the given parameters
* is invalid
*/
abstract public void initialize(Servlet servlet, ServletRequest request,
ServletResponse response, String errorPageURL, boolean needsSession,
int bufferSize, boolean autoFlush)
throws IOException, IllegalStateException, IllegalArgumentException;
/**
* <p>
* This method shall "reset" the internal state of a PageContext, releasing
* all internal references, and preparing the PageContext for potential
* reuse by a later invocation of initialize(). This method is typically
* called from JspFactory.releasePageContext().
*
* <p>
* Subclasses shall envelope this method.
*
* <p>
* This method should not be used by page or tag library authors.
*
*/
abstract public void release();
/**
* The current value of the session object (an HttpSession).
*
* @return the HttpSession for this PageContext or null
*/
abstract public HttpSession getSession();
/**
* The current value of the page object (In a Servlet environment,
* this is an instance of javax.servlet.Servlet).
*
* @return the Page implementation class instance associated
* with this PageContext
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -