这是一个关于Java认证1Z0-899的问题。
我必须选择两个答案。
问题是:
ServletRegistration.Dynamic 可用于配置:
A) 过滤器映射
B) 添加初始化参数
C) 将 asyncSupported 设置为 true
D) 添加监听器
我认为应该是正确的 B,C。但我的文字说 A,B。
谁是对的?
A)要配置过滤器映射,您可以使用
FilterRegistration.Dynamic.addMappingForServletNames(java.util.EnumSet dispatcherTypes, boolean b, java.lang.String... strings)
或FilterRegistration.Dynamic.(java.util.EnumSet dispatcherTypes, boolean b, java.lang.String... strings)
B)用于添加 initParams -ServletRegistration.Dynamic.setInitParameter(java.lang.String s, java.lang.String s1)
或ServletRegistration.Dynamic. setInitParameters(java.util.Map stringStringMap)
C) 将 asyncSupported 设置为 trueServletRegistration.Dynamic.setAsyncSupported(boolean b)
D)添加监听器ServletContext.addListener(T t)
这意味着正确的答案是 B 和 C
来自 Servlet Context 3.0 的规范第 31 页:
4.4.1 以编程方式添加和配置 Servlet
以编程方式将 servlet 添加到上下文的能力对框架开发人员很有用。例如,框架可以使用此方法声明一个控制器 servlet。此方法的返回值是 ServletRegistration 或 ServletRegistration.Dynamic 对象,它进一步允许您设置 servlet 的其他参数,如 init-params、url-mappings 等。该方法有三个重载版本,如下所述。
你可以看到他们提到了 init-params 和 url-mappings。
所以也许谁创建这个问题/答案选择这个文本:),此外 ServletRegistration.Dynamic 用于配置您创建的 servlet 或通过 Servlet 上下文以编程方式添加它,例如添加映射、初始化参数和设置安全约束属性...
谢谢