X-Git-Url: https://code.wpia.club/?p=gigi.git;a=blobdiff_plain;f=lib%2Fservlet-api%2Fjavax%2Fservlet%2FServlet.java;fp=lib%2Fservlet-api%2Fjavax%2Fservlet%2FServlet.java;h=73d30bbfe18b61cfe47630de8c5e5d82c677421b;hp=0000000000000000000000000000000000000000;hb=454e6afd89d77c1005eae4838e74e82fae759668;hpb=c2ca9ecd6facc79051cca2e6d46f211dfd54c7b9 diff --git a/lib/servlet-api/javax/servlet/Servlet.java b/lib/servlet-api/javax/servlet/Servlet.java new file mode 100644 index 00000000..73d30bbf --- /dev/null +++ b/lib/servlet-api/javax/servlet/Servlet.java @@ -0,0 +1,178 @@ +/* + * 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; + +import java.io.IOException; + +/** + * Defines methods that all servlets must implement. + * + *

+ * A servlet is a small Java program that runs within a Web server. Servlets + * receive and respond to requests from Web clients, usually across HTTP, the + * HyperText Transfer Protocol. + * + *

+ * To implement this interface, you can write a generic servlet that extends + * javax.servlet.GenericServlet or an HTTP servlet that extends + * javax.servlet.http.HttpServlet. + * + *

+ * This interface defines methods to initialize a servlet, to service requests, + * and to remove a servlet from the server. These are known as life-cycle + * methods and are called in the following sequence: + *

    + *
  1. The servlet is constructed, then initialized with the init + * method. + *
  2. Any calls from clients to the service method are handled. + *
  3. The servlet is taken out of service, then destroyed with the + * destroy method, then garbage collected and finalized. + *
+ * + *

+ * In addition to the life-cycle methods, this interface provides the + * getServletConfig method, which the servlet can use to get any + * startup information, and the getServletInfo method, which allows + * the servlet to return basic information about itself, such as author, + * version, and copyright. + * + * @see GenericServlet + * @see javax.servlet.http.HttpServlet + */ +public interface Servlet { + + /** + * Called by the servlet container to indicate to a servlet that the servlet + * is being placed into service. + * + *

+ * The servlet container calls the init method exactly once + * after instantiating the servlet. The init method must + * complete successfully before the servlet can receive any requests. + * + *

+ * The servlet container cannot place the servlet into service if the + * init method + *

    + *
  1. Throws a ServletException + *
  2. Does not return within a time period defined by the Web server + *
+ * + * + * @param config + * a ServletConfig object containing the servlet's + * configuration and initialization parameters + * + * @exception ServletException + * if an exception has occurred that interferes with the + * servlet's normal operation + * + * @see UnavailableException + * @see #getServletConfig + */ + public void init(ServletConfig config) throws ServletException; + + /** + * + * Returns a {@link ServletConfig} object, which contains initialization and + * startup parameters for this servlet. The ServletConfig + * object returned is the one passed to the init method. + * + *

+ * Implementations of this interface are responsible for storing the + * ServletConfig object so that this method can return it. The + * {@link GenericServlet} class, which implements this interface, already + * does this. + * + * @return the ServletConfig object that initializes this + * servlet + * + * @see #init + */ + public ServletConfig getServletConfig(); + + /** + * Called by the servlet container to allow the servlet to respond to a + * request. + * + *

+ * This method is only called after the servlet's init() method + * has completed successfully. + * + *

+ * The status code of the response always should be set for a servlet that + * throws or sends an error. + * + * + *

+ * Servlets typically run inside multithreaded servlet containers that can + * handle multiple requests concurrently. Developers must be aware to + * synchronize access to any shared resources such as files, network + * connections, and as well as the servlet's class and instance variables. + * More information on multithreaded programming in Java is available in + * the Java tutorial on multi-threaded programming. + * + * + * @param req + * the ServletRequest object that contains the + * client's request + * + * @param res + * the ServletResponse object that contains the + * servlet's response + * + * @exception ServletException + * if an exception occurs that interferes with the servlet's + * normal operation + * + * @exception IOException + * if an input or output exception occurs + */ + public void service(ServletRequest req, ServletResponse res) + throws ServletException, IOException; + + /** + * Returns information about the servlet, such as author, version, and + * copyright. + * + *

+ * The string that this method returns should be plain text and not markup + * of any kind (such as HTML, XML, etc.). + * + * @return a String containing servlet information + */ + public String getServletInfo(); + + /** + * Called by the servlet container to indicate to a servlet that the servlet + * is being taken out of service. This method is only called once all + * threads within the servlet's service method have exited or + * after a timeout period has passed. After the servlet container calls this + * method, it will not call the service method again on this + * servlet. + * + *

+ * This method gives the servlet an opportunity to clean up any resources + * that are being held (for example, memory, file handles, threads) and make + * sure that any persistent state is synchronized with the servlet's current + * state in memory. + */ + public void destroy(); +}