公司使用的是Servlet3.0, 我之前用的是Servlet没有注意过是哪个版本的,现在组长要我学Servlet3.0, 我顺便把这个记录下来。

 

JDk 1.5 之后,java提供了一种叫做Annotation 的新的数据类型,中文的解释为注解或标注,它的出现给xml文件提供了一个完美的解决方案,让java ee 开发更加方便快捷,更加干净。

   /**

9 * 自定义WebServlet注解,模拟Servlet3.0的WebServlet注解

10 * @Target 注解的属性值表明了 @WebServlet注解只能用于类或接口定义声明的前面,

11 * @WebServlet注解有一个必填的属性 value 。

12 * 调用方式为: @WebServlet(value=”/xxxx”) ,

13 * 因语法规定如果属性名为 value 且只填 value属性值时,可以省略 value属性名,即也可以写作:@WebServlet(“/xxxx”)

14 */

 

5 @Retention(RetentionPolicy.RUNTIME)
16 @Target(ElementType.TYPE)
17 public @interface WebServlet {
18     //Servlet的访问URL
19     String value();
20     //Servlet的访问URL
21     String[] urlPatterns() default {""};
22     //Servlet的描述
23     String description() default "";
24     //Servlet的显示名称
25     String displayName() default "";
26     //Servlet的名称
27     String name() default "";
28     //Servlet的init参数
29     WebInitParam[] initParams() default {};


 在servlet3.0中同样也可以使用web.xml,在<web-app>标签下有一属性metadata-complete="true" 
在设置true时,Servlet中的注解会失效,默认值为false。在注解和web.xml中同时对一个url-pattern进行设置时,
我实验的结果是注解会覆盖web.xml中的设置,书上所说的和我所实验的结果完全相反,即web.xml中设置会覆盖注解的设置,
请网友各自验证后,麻烦通知我一下。


@WebServlet

属性介绍一共有8 中属性,最常用的是urlPatterns该servlet 的 访问路径,asyncSupported 是否支持异步。
name String 指定 Servlet 的 name 属性,等价于 <servlet-name>。如果没有显式指定,则该 Servlet 的取值即为类的全限定名。
value String[] 该属性等价于 urlPatterns 属性。两个属性不能同时使用。
urlPattrens String[] 指定一组 Servlet 的 URL 匹配模式。等价于 <url-pattern> 标签。
LoadOnStartUp int 指定 Servlet 的加载顺序,等价于 <load-on-startup> 标签。
initParams WebInitParam[] 指定一组 Servlet 初始化参数,等价于 <init-param> 标签。
asyncSupported boolean 声明 Servlet 是否支持异步操作模式,等价于 <async-supported> 标签。
description String 该 Servlet 的描述信息,等价于 <description> 标签。
displayName String 该 Servlet 的显示名,通常配合工具使用,等价于 <display-name> 标签。


@WebInitParam
该属性常常和@WebServlet 和@WebFilter 配合使用,作用是为Servlet 或者Filter 指定初始化参数,相当于web.xml中<servlet>或者<filter>的子标签<init-param>子标签

    常用属性:

   name String   不可选  指定参数的名字,

   value  String  不可选  指定参数的值

   discripation  String  可选   关于参数的描述 等价于<discription>标签

@WebFilter

以下是filter 的参数属性

urlPatterns  String []  指定一组过滤器的 URL 匹配模式。等价于 <url-pattern> 标签。

 

 

 

 

 

 









 

版权声明:本文为wjn563原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/wjn563/p/4512526.html