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

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

炎炎设计
浏览 824回答 1
1回答

ABOUTYOU

如果用getInitParameter()的话,确实是读取WEB-INF/web.xml的参数(Servlet 3.0以后,也可以读取@WebServlet或@WebFilter注解里的参数)。我觉得,比起读取类中的成员,读web.xml唯一的好处是:类修改了还需要编译和部署,但web.xml修改后自动触发ServletContext重启,不需要编译,会很方便。另外,项目复杂的话,初始化参数(如数据库连接串、依赖的外部API地址、第三方接口帐号等)的来源会是多样的,比如:Spring等框架规定的容器服务器上其他位置的配置文件数据库或其他存储配置中心总之,与环境相关的配置,无论写在代码里还是写在web.xml里,似乎都不是很好的选择。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript