Java 之 Servlet 3.0

Servlet 3.0

好处:

  支持注解配置,不需要 web.xml 文件了。

步骤:

  (1)创建 Java EE 项目,注意:JavaEE 版本必须6.0以上才支持Servlet3.0,可以不创建 web.xml 文件。

  (2)定义一个类,实现 Servlet 接口

  (3)重写 Servlet 方法

  (4)在类上使用 @WebServlt 注解,进行配置

  (5)定义的Java 类

 1 import javax.servlet.*;
 2 import javax.servlet.annotation.WebServlet;
 3 import java.io.IOException;
 4 
 5 //@WebServlet(urlPatterns = "/demo")
 6 @WebServlet("/demo")
 7 public class ServletDemo implements Servlet {
 8     @Override
 9     public void init(ServletConfig servletConfig) throws ServletException {
10 
11     }
12 
13     @Override
14     public ServletConfig getServletConfig() {
15         return null;
16     }
17 
18     @Override
19     public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
20         System.out.println("servlet 3.0");
21     }
22 
23     @Override
24     public String getServletInfo() {
25         return null;
26     }
27 
28     @Override
29     public void destroy() {
30 
31     }
32 }

  (6)@WebServlet 代码

 1 //
 2 // Source code recreated from a .class file by IntelliJ IDEA
 3 // (powered by Fernflower decompiler)
 4 //
 5 
 6 package javax.servlet.annotation;
 7 
 8 import java.lang.annotation.Documented;
 9 import java.lang.annotation.ElementType;
10 import java.lang.annotation.Retention;
11 import java.lang.annotation.RetentionPolicy;
12 import java.lang.annotation.Target;
13 
14 @Target({ElementType.TYPE})
15 @Retention(RetentionPolicy.RUNTIME)
16 @Documented
17 public @interface WebServlet {
18     String name() default "";          //相当于<Servlet-name>
19 
20     String[] value() default {};       //代表urlPatterns()属性配置
21 
22     String[] urlPatterns() default {}; //相当于<url-pattern>
23 
24     int loadOnStartup() default -1;    //相当于<load-on-startup>
25 
26     WebInitParam[] initParams() default {};
27 
28     boolean asyncSupported() default false;
29 
30     String smallIcon() default "";
31 
32     String largeIcon() default "";
33 
34     String description() default "";
35 
36     String displayName() default "";
37 }

猜你喜欢

转载自www.cnblogs.com/niujifei/p/11617731.html