gpt4 book ai didi

java - Jsp页面不显示修改后的xml文件的内容,直到我手动刷新xml所在的文件夹

转载 作者:行者123 更新时间:2023-12-01 16:34:54 25 4
gpt4 key购买 nike

我正在开发一个 Web 项目,在该项目中我调用一个 Java 类来更新 XML 文件,然后将请求重定向到一个 JSP,该 JSP 显示更新后的 XML 文件的内容。但是,直到我手动刷新包含该 XML 文件的文件夹后,才会显示更新的 XML 值。

我的代码模板是..

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
String instanceName=request.getParameter("instanceName");
int no_of_days=Integer.parseInt(request.getParameter("days"));

CopyOfUpdateXmlLicenses obj2=new CopyOfUpdateXmlLicenses(instanceName, new_free_lic);
obj2.updateXML_Licesnes();
long time=new Date().getTime();
response.sendRedirect("Licenses.jsp?ms="+time);
}

最佳答案

您犯了一个重大的设计错误。由于以下主要原因,Web 应用程序不应在运行时写入部署文件夹:

  • 每当您重新部署 WAR 或重新启动服务器时,所有更改都会丢失。只是因为这些更改不包含在(原始)WAR 中。

  • 某些服务器不会将 WAR 展开到磁盘上,而是展开到内存中。然后,getRealPath() 将返回 null,使您无法向其中写入文件。

顺便说一句,您的具体问题是因为您正在通过 IDE 部署和运行 Web 应用程序而引起的。 IDE 不会立即发现外部对项目文件夹结构进行的任何更改。但您应该意识到IDE不是服务器并且不能在生产环境中运行。 IDE只是一个开发工具。

您需要将文件写入部署文件夹之外的固定路径。

关于java - Jsp页面不显示修改后的xml文件的内容,直到我手动刷新xml所在的文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10226208/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com