java - @WebInitParam 的用例

标签 java jakarta-ee servlets annotations

自 Servlet 3.0 规范以来,就有可能将 servlet 映射元数据声明为 servlet 类上的注释:

@WebServlet(name="appInfoServlet", urlPatterns ="/appInfo", initParams = @WebInitParam(name="ocwd.deployer.email", value="admin@example.com"))
public class AppInfoServlet extends HttpServlet {

}

但我不明白的是将初始化参数保存在与 servlet 相同的类中的用例。据我了解,这些参数应与类分开并放入部署描述符中。

@WebServlet 注释中指定初始化参数有哪些用例?

最佳答案

注释用于给出默认值。

在 JavaEE 中,部署属性也可以使用注释来提供。给定注解值后,部署描述符(即 web.xml)仍可用于覆盖注解提供的默认值。


在上面的示例中,可以通过在 web.xml 中配置具有匹配名称的 servlet 来覆盖 init-param:

  <servlet>
    <servlet-name>appInfoServlet</servlet-name>
    <init-param>
        <param-name>ocwd.deployer.email</param-name>
        <param-value>noreply@example.com</param-value>
    </init-param>
  </servlet>

关于java - @WebInitParam 的用例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8064518/

相关文章:

java - 从文件读取数据到jtextfield1并显示在jtextfield2中

java - 无法在 Restful Web 服务中使用 EJB

java - 如何将 JSF 组件绑定(bind)到支持 bean 属性

java - 在测试和开发期间快速启动 JAX-RS 应用程序

java - 关于 servlet 的日志配置

java - 输入流不读取任何内容

java - 如何使 javadoc doclava doclet 与 gradle 一起工作

java - 使用 DecimalFormat 将 double 格式化为 String 会抛出 IllegalArgumentException

java - 是否有基于 selenium 的 java api 构建器?

java - 在 JSF 中生成自己的 session ID