是否有可能从servlet中永久修改web.xml,以便在运行时更改任何上下文参数(或init-param或其他)值时,此更改还反映了甚至重新启动服务器后?我目前正在使用tomcat 8.如何从servlet中永久修改web.xml
-1
A
回答
1
这样做是非常糟糕的做法 - 这是因为在更新应用程序时必须跟踪更改。
如果您有这样的要求,您应该将您的配置保存在别处,例如,在数据库或您的网络应用程序之外的某个文件中,以便您可以在不更改的情况下部署您的web应用程序,但仍可以读取您当前运行的系统的配置。
不要忘记包含该配置文件/数据库内容在您的备份。
此外,AFAIK tomcat(在其默认配置中)监视web.xml并在检测到web.xml的更改时重新加载应用程序(例如关闭并重新启动) - 这可能不是您期望的行为。不要忘记,tomcat可能被配置为仅部署WAR文件而无需解压它 - 您甚至可能在磁盘上没有web.xml文件。它仍然可以驻留在WAR文件中(这是可能的配置,只是不是标准)
0
您可以在java代码中始终生成系统命令,以便将脚本或批处理文件用作输入,然后修改web.xml文件。但是您仍然需要重新启动Tomcat才能使更改生效。它从配置文件加载到内存。
1
为什么要在运行时写入web.xml?它看起来并不适合我。
如果您有要求配置运行时,几乎可以实现所有使用注释和程序注册。你可以在web.xml中完成的所有配置都可以使用它们来完成。您可以创建并注册servlet。
参考
相关问题
- 1. 如何修改多个servlet的web.xml
- 2. 永久修改App.config C#
- 3. 永久修改RGB伽玛表
- 4. 永久保存jquery修改页面
- 5. 如何永久修改WordPress的'wp-admin/post.php?
- 6. 如何永久修改您定义的方法?
- 7. 如何永久
- 8. 支持永久修剪AppDrawer
- 9. 如何在Tomcat 6中配置永久Servlet?
- 10. 如何调试/修复从EntityManager的查找永久空返回?
- 11. 如何永久更改下拉值
- 12. 如何永久更改外部file.txt?
- 13. 如何更改永久运行的SKAction
- 14. 如何永久更改MTU设置
- 15. 如何在不修改web.xml的情况下向servlet添加过滤器
- 16. 使用Ant修改web.xml
- 17. 永久从前页
- 18. 如何从URL永久删除目录
- 19. 永久更改静态值
- 20. jquery永久性更改html
- 21. 永久地改变会话
- 22. CSS不会永久更改
- 23. 永久更改光标
- 24. 永久文件更改
- 25. web.xml中的servlet-class路径
- 26. 修改Servlet参数
- 27. 如何找到我的servlet for web.xml?
- 28. web.xml:如何将domain/xx/*映射到servlet?
- 29. 如何永久更新iptables
- 30. 如何以永久方式使用AS3修改框架内的对象?
或可我使用SAX API来修改web.xml文件? –