最佳实践?在 Struts2 中我应该把我自己的应用程序的配置参数放在哪里?
在Java servlet中,有
。在桌面应用程序中,我们通常定义自己的配置文件。
我应该将 Struts2 应用程序的配置参数放在哪里?例如,我的应用程序需要设置用户输入的时间限制,或者保存和读取存储在某处的文件,或者用户可以输入错误密码的最长时间等。我希望这些东西是可配置的。
人们通常在 Struts2 应用程序中这样做的方式是什么?有什么最佳实践吗?
In Java servlet, there is <context-param>
. In desktop applications, we usually define our own configuration file.
Where should I put configuration parameters for my Struts2 application? For example, my application needs to set a time limit for user input, or save and read files stored somewhere, or the maximum time the user can type a wrong password, etc. I want those things configurable.
What's the way people usually do it in Struts2 applications? Any best practice?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果您熟悉您提到的 ServletContext 方法,则可以坚持使用。在您的
web.xml
中,只需添加
即可。然后,要在您的操作中获取
ServletContext
,只需实现ServletContextAware
,它将自动为您注入。这是一个简短的示例:
web.xml
您的操作
If you are familiar with the
ServletContext
approach that you mentioned, you can stick with that. In yourweb.xml
, just add your<context-param>
s.Then, to get the
ServletContext
in your actions, just implementServletContextAware
and it will be automatically injected for you.Here's a brief example:
web.xml
Your Action
请参阅此处:Apache Struts 2 文档 - 处理文件上传
或:Apache Struts 2 文档 - 文件上传
我通常将所有这些设置放入默认包中的 struts.properties 文件中。如果您使用此类配置,也可以在 struts.xml 文件中设置它们。
Google 搜索会显示大量使用“Struts2 文件上传”作为搜索参数的 struts 2 文件处理示例。
See here: Apache Struts 2 Documentation - Handling File Uploads
or : Apache Struts 2 Documentation - File Upload
I typically put all these settings in my struts.properties file located in the default package. They can also be set in the struts.xml file if you use this type of configuration.
A Google search turns up a plethora of file handling examples for struts 2 using "Struts2 file upload" as your search parameters.
我使用在实现 javax.servlet.ServletContextListener 类的类中加载的配置 xml 文档。从那里我将属性设置为 servletContext:
然后在我的 struts 基本操作类中,我有从 servlet 上下文获取属性的方法。
I use a config xml document that I load in a class that implements javax.servlet.ServletContextListener class. From there I set attributes to the servletContext:
Then in my struts base action class I have methods that get the properties from the servlet context.