zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    dubbo、dubbox、motan、thrift、grpc等RPC框架比较及选型
    web攻击之八:溢出攻击(nginx服务器防sql注入/溢出攻击/spam及禁User-agents)
    crontab的安装及crontab命令介绍
    开启Nginx的gzip压缩功能详解
    nginx限制请求之四:目录进行IP限制
    nginx上传目录配置,禁止执行权限
    EhCache 分布式缓存/缓存集群
    Nginx 反向代理、负载均衡、页面缓存、URL重写、读写分离及简单双机热备详解
    CDN模式介绍
    IT基础架构规划方案一(网络系统规划)
  • 原文地址:https://www.cnblogs.com/niujifei/p/11617731.html
Copyright © 2011-2022 走看看