001    /*
002     * Licensed to the Apache Software Foundation (ASF) under one
003     * or more contributor license agreements.  See the NOTICE file
004     * distributed with this work for additional information
005     * regarding copyright ownership.  The ASF licenses this file
006     * to you under the Apache License, Version 2.0 (the
007     * "License"); you may not use this file except in compliance
008     * with the License.  You may obtain a copy of the License at
009     *
010     *  http://www.apache.org/licenses/LICENSE-2.0
011     *
012     * Unless required by applicable law or agreed to in writing,
013     * software distributed under the License is distributed on an
014     * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
015     * KIND, either express or implied.  See the License for the
016     * specific language governing permissions and limitations
017     * under the License.
018     */
019    
020    //
021    // This source code implements specifications defined by the Java
022    // Community Process. In order to remain compliant with the specification
023    // DO NOT add / change / or delete method signatures!
024    //
025    
026    package javax.servlet.jsp;
027    
028    import javax.servlet.*;
029    import javax.servlet.http.*;
030    import java.io.IOException;
031    
032    /**
033     * The HttpJspPage interface describes the interaction that a JSP Page
034     * Implementation Class must satisfy when using the HTTP protocol.
035     *
036     * <p>
037     * The behaviour is identical to that of the JspPage, except for the signature
038     * of the _jspService method, which is now expressible in the Java type
039     * system and included explicitly in the interface.
040     * 
041     * @see JspPage
042     */
043    
044    public interface HttpJspPage extends JspPage {
045    
046        /** The _jspService()method corresponds to the body of the JSP page. This
047         * method is defined automatically by the JSP container and should never
048         * be defined by the JSP page author.
049         * <p>
050         * If a superclass is specified using the extends attribute, that
051         * superclass may choose to perform some actions in its service() method
052         * before or after calling the _jspService() method.  See using the extends
053         * attribute in the JSP_Engine chapter of the JSP specification.
054         *
055         * @param request Provides client request information to the JSP.
056         * @param response Assists the JSP in sending a response to the client.
057         * @throws ServletException Thrown if an error occurred during the 
058         *     processing of the JSP and that the container should take 
059         *     appropriate action to clean up the request.
060         * @throws IOException Thrown if an error occurred while writing the
061         *     response for this page.
062         */
063        public void _jspService(HttpServletRequest request,
064                                HttpServletResponse response)
065           throws ServletException, IOException;
066    }