最佳实践?我在哪里为Struts2中的自己的应用程序配置参数?

Hao*_*hun 5 java struts2

在Java servlet中,有<context-param>.在桌面应用程序中,我们通常定义自己的配置文件.

我应该在哪里为Struts2应用程序添加配置参数?例如,我的应用程序需要为用户输入设置时间限制,或者保存和读取存储在某处的文件,或者用户输入错误密码的最长时间等.我希望这些内容可配置.

人们通常在Struts2应用程序中执行此操作的方式是什么?任何最佳做法?

Ste*_*tez 5

如果您熟悉ServletContext您提到的方法,您可以坚持下去.在你的web.xml,只需添加你<context-param>的.

然后,为了完成ServletContext您的操作,只需实施ServletContextAware,它将自动为您注入.

这是一个简短的例子:

web.xml中

<context-param>
  <param-name>someSetting</param-name>
  <param-value>someValue</param-value>
</context-param>
Run Code Online (Sandbox Code Playgroud)

你的行动

public class YourAction extends ActionSupport implements ServletContextAware {
  private ServletContext servletContext;

  @Override
  public String execute() throws Exception {
    String someValue = (String) servletContext.getAttribute("someSetting");

    return SUCCESS;
  }

  @Override
  public void setServletContext(final ServletContext context) {
    this.servletContext = servletContext;
  }
}
Run Code Online (Sandbox Code Playgroud)