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 }
  • 相关阅读:
    【BZOJ2006】[NOI2010] 超级钢琴(堆+RMQ)
    【洛谷1120】小木棍(一道有技巧的dfs)
    【BZOJ1857】传送带(分治经典:三分套三分)
    【BZOJ1045】糖果传递(基于贪心的数学题)
    【CF1000C】Covered Points Count(离散化+差分)
    【洛谷1486】[NOI2004] 郁闷的出纳员(Splay的小运用)
    【洛谷1156】垃圾陷阱(动态规划)
    严格次小生成树学习笔记
    高斯消元入门
    【洛谷4011】孤岛营救问题(状压SPFA)
  • 原文地址:https://www.cnblogs.com/niujifei/p/11617731.html
Copyright © 2011-2022 走看看