为什么JavaEE中的Servlet类在初始化的时候,使用init()方法来获取参数,在类中定义字段不是更方便吗?

发布于 2022-09-06 01:44:40 字数 61 浏览 9 评论 0

使用init()方法,还需要读取xml,这不是更消耗性能的设计吗?如果直接设计成字段,岂不是既方便又省性能。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

泪痕残 2022-09-13 01:44:40

如果用getInitParameter()的话,确实是读取WEB-INF/web.xml的参数(Servlet 3.0以后,也可以读取@WebServlet@WebFilter注解里的参数)。
我觉得,比起读取类中的成员,读web.xml唯一的好处是:

类修改了还需要编译和部署,但web.xml修改后自动触发ServletContext重启,不需要编译,会很方便。

另外,项目复杂的话,初始化参数(如数据库连接串、依赖的外部API地址、第三方接口帐号等)的来源会是多样的,比如:

  • Spring等框架规定的容器
  • 服务器上其他位置的配置文件
  • 数据库或其他存储
  • 配置中心

总之,与环境相关的配置,无论写在代码里还是写在web.xml里,似乎都不是很好的选择。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文