ala*_*inm 5 java servlets servlet-3.0
在我的项目中,我使用 Servlet 3.0 并且尝试使用注释。
为了初始化数据库的连接参数,我在 servlet 中使用它:
@WebServlet(name = "FrontServlet", urlPatterns = {"/index"},
initParams = {
@WebInitParam(name = "userDB", value = "root"),
@WebInitParam(name = "passwordDB", value = "*****")})
Run Code Online (Sandbox Code Playgroud)
现在,当我将项目打包在 WAR 中时,我没有 web.xml,因此我无法像以前在旧 servlet 版本中那样编辑初始化参数。
我的问题是,当项目打包成 WAR 时,我可以编辑我的初始化参数吗?如果是的话怎么办?否则我应该使用什么方法来存储我的初始化参数并能够在 WAR 中修改它们?
如果可能的话,我想避免使用所有 URL 模式等重新创建整个 web.xml...
编辑 :
最后我保留了:
@WebServlet(name = "FrontServlet", urlPatterns = {"/index"})
Run Code Online (Sandbox Code Playgroud)
我使用Properties加载数据库参数,并使用以下命令访问配置文件getClass().getClassLoader().getResourceAsStream("servlet/config/config.ini")
据我所知,没有标准方法可以在运行时修改初始化参数。此外,将配置放在那里是一种不好的做法,尤其是以明文形式放在那里的数据库凭据。
通常,最佳实践是将配置放入外部文件中。它可能是一些自定义属性或 xml 文件。
对于数据库连接,通常使用 JNDI。因此,基本上,您在代码中查找 JNDI 资源,而 JNDI 本身是在容器级别配置的。Google 找到很多如何通过 JNDI 为 Jetty、Tomcat、JBoss 等配置数据库连接的示例。
| 归档时间: |
|
| 查看次数: |
2629 次 |
| 最近记录: |