Tomcat:源服务器未找到目标资源的当前表示或不愿意公开存在该表示

ds97pgxw  于 2022-11-13  发布在  其他
关注(0)|答案(6)|浏览(1111)

我知道以前也有同样的问题,但我还是找不到正确的答案。我得到:源服务器未找到目标资源的当前表示形式,或者不愿意透露目标资源的当前表示形式存在。我使用的是Tomcat服务器。
请有人帮助我,下面是我的项目结构:


ki0zmccv

ki0zmccv1#

我被这个问题困了一个月。
最后,我发现在Eclipse中,“Build Automatically”没有设置,并且我试图在没有任何servlet.class文件的情况下运行我的servlet.java文件,因为我没有构建我的项目。
对我有效的方法是
首先构建项目=〉重新启动服务器=〉在servlet上运行服务器。
希望对你有帮助!!

tf7tbtn2

tf7tbtn22#

我遇到了一个类似的问题,我的包名是错误的。我修复了包名,修复了问题。
请检查web.xml文件中的配置代码段。
此外,为了使结构更简洁,您可以在WEB_INF下创建一个新文件夹“jsps”,并将.jsp文件移到该文件夹中。

c9x0cxw0

c9x0cxw03#

下面的方案是以项目名称abcd和端口8080来说明的。文件夹WebContent将位于文件夹abcd内。
application.properties中,添加路径

上传.路径=C:/......../abcd/网站内容/

如果忽略WebContent后面得最后一个斜杠,则上载得文件将保存在abcd而不是WebContent(位于abcd内)中.
现在,假设WebContent中有1.JPG,如果我必须访问它,那么在我的浏览器中,我必须将URL设置为http://localhost:8080/abcd/1.JPG
将URL设置为http://localhost:8080/abcd/1.jpg将不起作用(请注意.jpg的小写字母)
还要确保文件1.JPG在IDE的abcd中的WebContent中可见(在我的例子中,它是Spring工具套件)。
现在,如果文件1.JPG位于abcd/WebContent/new/1.JPG内,则URL将为http://localhost:8080/abcd/new/1.JPG

wtlkbnrh

wtlkbnrh4#

ContextLoaderListener的代码块中出现运行时异常时,我曾经遇到过这个问题。

public class YourApplicationContenxtLoaderListener extends ContextLoaderListener{
@Override
public void contextInitialized(ServletContextEvent event){
            /* There should not be any exception/error in this block , as it would impact the context initialization by tomcat server for respective war file. */
}

}

hfyxw5xn

hfyxw5xn5#

我在Java 11和Tomcat 9.0上运行的Azure WebApp上遇到了此问题。
我将Java Web服务器版本从Apache Tomcat 9.0(自动更新)更改为Apache Tomcat 9.0.20,然后服务器可以正常工作。

eivgtgni

eivgtgni6#

下面是您的查询的解决方案,只需按照以下步骤操作:转到项目属性设置类型部署和装配设置,然后单击添加文件夹,然后将webcontent文件夹添加到您的项目,单击应用并关闭,然后运行项目
我希望你的问题会得到解决。

相关问题