zoukankan      html  css  js  c++  java
  • 第十七章_Web注解

    1、HandlesTypes

    这个注解类型用来声明ServletContainerInitializer能够处理哪些类型的类。它有一个属性、一个值。用来声明类的类型。比如,以下的ServletContainerInitializer@HandleTypes进行标注,声明初始化程序能够处理UsefulServlet

    @HandlesTypes({UsefulServlet.class})

    public class MyInitializer implements ServletContainerInitializer{

    ...

    }

    2、HttpConstraint

    HttpConstraint注解类型表示适用于没有相应HttpMethodConstraint元素的全部HTTP协议方法的安全约束。这个注解类型必须放在ServletSecurity注解中。

    它的属性例如以下:

    rolesAllowed:表示授权角色的一个字符串数组。

    transportGuarantee:表示是否有必须满足的数据保护要求。有效值为ServletSecurity.TransportGuarantee枚举的成员之中的一个

    value:默认的授权语义

    比如。下列HttpConstraint标注声明被标注的Servlet仅仅能由属于manager角色的用户进行訪问。

    因为没有HttpMethodConstraint标注。这条约束将应用于全部的HTTP方法。

    @ServletSecurity(@HttpConstraint(rolesAllowed=”manager”))

    3、HttpMethodConstraint

    这个注解类型表示特定HTTP方法中的一个安全约束。HttpMethodConstraint标注仅仅能出如今ServletSecurity注解中。

    HttpMethodConstraint的属性例如以下:

    emptyRoleSemantic:这是默认的授权语义,这个值必须是ServletSecurity.EmptyRoleSemantic枚举的成员之中的一个(DENYPERMIT

    rolesAllowed:表示授权角色的一个字符串数组

    transportGuarantee:表示是否有必须满足的数据保护要求,它的有效值为ServletSecurity.TransportGuarantee枚举的成员之中的一个(CONFIDENTIAL或者NONE

    value:受影响的HTTP方法

    比如。下列ServletSecurity注解使用了valuehttpMethodConstraints这两个属性。HttpConstraint注解定义了能够訪问被标注Servlet的角色,HttpMethodConstraint注解(没有rolesAllowed属性)覆盖了Get方法的约束。因此。不论什么用户都能够通过Get訪问这个Servlet

    还有一方面。通过其它全部HTTP方法进行訪问的权限仅限于manager角色的用户。

    @ServletSecurity(value=@HttpConstraint(rolesAllowed=”manager”),

    httpMethodConstraints={@HttpMethodConstraint(“GET”)})

    可是。假设HttpMethodConstraint标注类型的emptyRoleSemantic属性值为EmptyRoleSemantic.DENY。那么该方法将限制全部用户的訪问。比如,用下面ServletSecurity注解进行标注的Servlet将阻止通过Get方法进行訪问。可是同意member角色中的全部用户通过其它HTTP方法进行訪问。

    @ServletSecurity(value=@HttpConstraint(rolesAllowed=”member”),

    httpMethodConstraints={@HttpMethodConstraint(value=GET,

    emptyRoleSemantic=EmptyRoleSemantic.DENY)})

    4、MultipartConfig

    MultipartConfig注解类型用来标注一个Servlet。表示这个Servlet的实例是否可以处理multipart/form-data MIME类型。一般在上传文件时会用到。

    下列MultipartConfig标注规定,能够上传的最大文件容量是一百万个字节

    @MultipartConfig(maxFileSize = 1000000)

    属性为:

    fileSizeThreshold:超过这个容量界限之后。所上传的文件将被写入磁盘

    location:上传的文件被存入磁盘时保存的位置

    maxFileSize:上传文件的最大容量。

    大于指定值的文件会被拒绝。

    maxFileSize的默认值为-1,表示不受限制。

    maxRequestSize:表示同意multipart HTTP请求的最大容量,默认值为-1,表示不受限制

    5、ServletSecurity

    ServletSecurity注解类型用来标注Servlet类,并对这个Servlet上应用安全约束。在ServletSecurity标注中可能出现的属性例如以下所看到的:

    httpMethodConstraints:指定HTTP方法特定约束的一组HttpMethodConstraint

    valueHttpConstraint注解定义了应用于没有对应HttpMethodConstraint的全部HTTP方法的安全约束。

    比如。下面ServletSecurity注解中包括了一个HttpConstraint标注,表示被标注的Servlet仅仅能由manager角色中的用户訪问。

    @ServletSecurity(value=@HttpConstraint(rolesAllowed=”manager”))

    6、WebFilter

    WebFilter注解类型用来标注一个过滤器,以下是它的属性:

    asyncSupported:表示该过滤器是否支持异步处理

    description:该过滤器的描写叙述

    dispatcherTypes:该过滤器应用到的一组DispatcherTypes

    displayName:该过滤器的显示名称

    filterName:该过滤器的名称

    initParams:该过滤器的初始參数

    largeIcon:该过滤器的大图标

    servletNames:该过滤器应用到的几个Servlet的名称

    smallIcon:该过滤器的小图标

    urlPatterns:该过滤器应用到的URL模式

    value:该过滤器应用到的URL模式

    7、WebInitParam

    这个注解类型用于给ServletFilter传递初始化參数。

    WebInitParam注解中可能出现的属性例如以下:

    description:初始化參数的描写叙述

    name:初始化參数的名称

    value:初始化參数的值

    8、WebListener

    这个注解类型用来给监听器进行标注。

    它的唯一属性value是可选的,当中包括这个监听器的描写叙述。

    9、WebServlet

    这个注解类型用来标注Servlet,属性例如以下:

    asyncSupported:表明该Servlet是否支持异步处理

    description:该Servlet的描写叙述

    displayName:该Servlet的显示名称

    initParams:该Servlet的初始化參数

    largeIcon:该Servlet的大图标

    loadOnStarpup:在一个包括多个Servlet的应用程序中,各Servlet的载入顺序

    name:该Servlet的名称

    smallIcon:该Servlet的小图标

    urlPatterns:调用该ServletURL模式

    value:调用该ServletURL模式

  • 相关阅读:
    一个好的时间函数
    Codeforces 785E. Anton and Permutation
    Codeforces 785 D. Anton and School
    Codeforces 510 E. Fox And Dinner
    Codeforces 242 E. XOR on Segment
    Codeforces 629 E. Famil Door and Roads
    Codeforces 600E. Lomsat gelral(Dsu on tree学习)
    Codeforces 438D The Child and Sequence
    Codeforces 729E Subordinates
    【ATcoder】D
  • 原文地址:https://www.cnblogs.com/yutingliuyl/p/6907212.html
Copyright © 2011-2022 走看看