/* * Copyright (c) 2017, 2020 Oracle and/or its affiliates and others. * All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at * http://www.eclipse.org/legal/epl-2.0. * * This Source Code may also be made available under the following Secondary * Licenses when the conditions for such availability set forth in the * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, * version 2 with the GNU Classpath Exception, which is available at * https://www.gnu.org/software/classpath/license.html. * * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 */ package jakarta.servlet.annotation; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * Annotation used to declare a servlet. * *
* This annotation is processed by the container at deployment time, and the corresponding servlet made available at the * specified URL patterns. * * @see jakarta.servlet.Servlet * * @since Servlet 3.0 */ @Target({ ElementType.TYPE }) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface WebServlet { /** * The name of the servlet * * @return the name of the servlet */ String name() default ""; /** * The URL patterns of the servlet * * @return the URL patterns of the servlet */ String[] value() default {}; /** * The URL patterns of the servlet * * @return the URL patterns of the servlet */ String[] urlPatterns() default {}; /** * The load-on-startup order of the servlet * * @return the load-on-startup order of the servlet */ int loadOnStartup() default -1; /** * The init parameters of the servlet * * @return the init parameters of the servlet */ WebInitParam[] initParams() default {}; /** * Declares whether the servlet supports asynchronous operation mode. * * @return {@code true} if the servlet supports asynchronous operation mode * @see jakarta.servlet.ServletRequest#startAsync * @see jakarta.servlet.ServletRequest#startAsync( jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse) */ boolean asyncSupported() default false; /** * The small-icon of the servlet * * @return the small-icon of the servlet */ String smallIcon() default ""; /** * The large-icon of the servlet * * @return the large-icon of the servlet */ String largeIcon() default ""; /** * The description of the servlet * * @return the description of the servlet */ String description() default ""; /** * The display name of the servlet * * @return the display name of the servlet */ String displayName() default ""; }