• 第十七章_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模式

  • 相关阅读:
    headfirst设计模式(6)—单例模式
    headfirst设计模式(5)—工厂模式体系分析及抽象工厂模式
    headfirst设计模式(4)—工厂模式
    headfirst设计模式(3)—装饰者模式
    headfirst设计模式(2)—观察者模式
    headfirst设计模式(1)—策略模式
    BeanFactory 与 FactoryBean
    两个List集合取交集、并集、差集
    服务编排
    oracle报错ORA-01843: not a valid month
  • 原文地址:https://www.cnblogs.com/yutingliuyl/p/6907212.html
Copyright © 2020-2023  润新知