java - 如何在不重新编译的情况下覆盖 servlet 的@WebInitParam?

标签 java jakarta-ee servlets servlet-3.0

我有一个带有以下 @WebServlet 注释的 Java Servlet:

@WebServlet(urlPatterns={"/GetInfo"},
            initParams={
                @WebInitParam(name="directory.path", value="/appli/PdlInfo")})

如何在不重新编译 servlet 的情况下更改 @WebInitParam 的值?

最佳答案

在 Servlet 3.0 中,注解只提供默认值。 只需使用 web.xml 文件(或部署时容器上可用的工具),您就可以更改它。无论哪种情况,您都需要为 servlet 指定一个有意义的名称:

    @WebServlet(
            name="GetInfo"
            urlPatterns={"/GetInfo"},
            initParams={@WebInitParam(name="directory.path",value="/appli/PdlInfo")}
    )

这里是 web.xml 的一个片段:

  <servlet>
    <servlet-name>GetInfo</servlet-name>
    <init-param>
        <param-name>directory.path</param-name>
        <param-value>/other/path</param-value>
    </init-param>
  </servlet>

关于java - 如何在不重新编译的情况下覆盖 servlet 的@WebInitParam?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14876483/

相关文章:

java - 如何分割字符串并保留特定的分隔符?

java - 避开项目目录 - Java EE 应用程序

java - JPA 连接到错误的表

java - JSP session 失效不起作用

java - 结果集不会进入 while 循环并设置值

java - 计算两个重复列表的差异

java - 如何使用 Java 使用 Google 的目录 API 更改用户密码?

java - 从 android studio 中的 java 类访问布局(.xml)

java - Heroku Java EE 的 Procfile

java - 如何为未配置 web.xml 的 Web 应用程序指定显示名称