做网站公司大连,wordpress 插件目录,网站后台使用说明,深圳外包seo我写的程序#xff0c;问题出现的也很神奇#xff0c;就是我在上传已经存在在我指定目录下的就可以成功#xff0c;如果不存在#xff0c;上传仍是可以成功的#xff0c;但是就会不显示#xff0c;但是你重启服务器的时候又会再次显示。这种问题出现的原因我们就需要了解…我写的程序问题出现的也很神奇就是我在上传已经存在在我指定目录下的就可以成功如果不存在上传仍是可以成功的但是就会不显示但是你重启服务器的时候又会再次显示。这种问题出现的原因我们就需要了解javaweb项目运行的本质了 编译Java源代码 当你修改Java源代码时比如在IDE中保存文件时IDE会自动重新编译修改的Java文件。编译后的.class文件通常会被输出到项目的输出目录例如默认情况下是out目录。 部署到服务器 一旦项目被编译完成你可以将项目部署到Web服务器上比如Tomcat。部署通常涉及将编译后的文件以及其他资源文件例如JSP、HTML、CSS、JavaScript等复制到Web服务器的指定目录中。 服务器运行 一旦部署完成你可以启动Web服务器让项目在服务器上运行。Tomcat等Web服务器会将项目中的文件加载到内存中并提供对外服务。 当你在本地修改项目文件时确实会改变项目文件的内容包括源代码文件、配置文件等。但是对于Java Web项目而言服务器实际上是运行的编译后的文件而不是源代码文件。因此你在本地修改源代码文件后必须重新编译项目并重新部署到服务器上服务器才能加载最新的编译后的文件从而生效你的修改。
通常情况下IDE会自动将编译后的文件输出到指定的目录例如out目录而Web服务器则会加载这些编译后的文件。因此如果你修改了源代码文件但没有重新编译项目并重新部署到服务器上服务器上运行的仍然是之前的编译后的文件所以你看到的效果不会发生变化。
因此要使你的修改生效你需要重新编译项目并重新部署到服务器上或者使用一些支持热部署的工具来自动重新加载修改后的类文件。
上面是问题出现的原因:下面是我的问题与更正方案
C:/Users/86177/Desktop/ch3/jsp/img 这是我设置的错误目录
C:/Users/86177/Desktop/ch3/out/artifacts/ch3_Web_exploded/jsp/img 这是更正后的目录
我的问题出现的原因也就是上述所说的项目实际运行的是我编译后的文件我的程序在编译的时候img目录下有的图片都会被编译但没有的不会而我上传新的到这个目录就无法被编译而找不到路径但我将上传路径设置为out目录下就可以了编译后的.class文件会被复制到WEB-INF/classes目录下。实际我们在项目中使用的页面还有静态资源(图片)都是在这个out目录下寻找的修改源代码并不会影响这个out目录只有重新编译才会因此即使IDE的out目录中的文件在IDE会话结束时被清除编译后的文件依然存在于部署目录中直到你重新部署或重新构建项目。我重新部署项目又会显示也是存在的这个问题的原因。