eclipse中配置的tomcat 启动正常 但是访问报404错误

本文介绍了解决在Eclipse中配置的Tomcat启动后访问出现404错误的方法。通过调整Eclipse中的ServerLocations配置并重新发布项目,可以有效解决该问题。

eclipse中配置的tomcat 启动正常 但是访问报404错误

问题描述:
在eclipse中配置的Tomcat,启动是正常的,控制台显示启动成功,也没有报任何错误信息,但是访问的时候就报404错误,然后直接在bin目录下启动startup.bat的方式就是正常的。然后就很纳闷,之后在网上搜了下资料,说是Eclipse的配置出了问题。

这里写图片描述

解决方案:

1、如果Server里的tomcat启动了,需要先停掉。然后再移除添加的项目

2、之后双击server中配置的tomcat服务器,会弹出如下界面。
这里写图片描述

3、在Server Locations配置中选择第二个选项,use tomcat installation ,再保存一下,重新启动Tomcat服务,就可以了。
这里写图片描述

4、需要注意的是:可能有的时候会出现Server Locations下面的几个选项都是只读的,不能进行选择,这个时候需要在Server下的Tomcat上右击——》然后选择publish,重新发布一下即可。
这里写图片描述

5、然后再重新执行上面的步骤3,即可

6、重新将项目添加到tomcat容器中,启动运行,看看效果。
这里写图片描述

最后其实主要是eclipse这里的默认配置 我们得改下就ok!

Eclipse启动 Tomcat 服务器后,若服务器本身可以正常访问但静态资源出现 404 错误,通常与项目部署方式、资源路径配置Tomcat 的上下文设置有关。以下是一些常见原因及对应的解决方案: ### 静态资源 404 的可能原因及解决方法 1. **项目未正确部署到 `webapps` 目录** 在 Eclipse 中使用 Tomcat 插件时,默认情况下会将项目部署到工作空间下的临时目录(如 `.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/`),而非 Tomcat 原生的 `webapps` 文件夹。如果某些配置依赖于原生路径,可能会导致静态资源无法加载。 - 解决方法:可在 EclipseServer 配置中修改部署路径为实际 Tomcat 的 `webapps` 目录,确保静态资源能被正确识别和访问。 2. **URL 路径配置错误** 如果访问的 URL 没有正确匹配项目的上下文路径(Context Path),则可能出现 404。例如,项目名为 `MyWebApp`,应通过 `http://localhost:8080/MyWebApp/resource.html` 访问资源。 - 可检查 `server.xml` 或 `context.xml` 文件中的 `<Context>` 标签是否设置了正确的 `path` 属性[^1]。 3. **Tomcat 默认不启用默认 Servlet 来处理静态资源** 在某些项目结构中,如果使用了 Spring MVC 等框架,其 `DispatcherServlet` 可能拦截了所有请求,导致静态资源(如 CSS、JS、图片)无法直接访问。 - 解决方法:在 Spring 配置文件中添加对静态资源的放行规则: ```xml <mvc:resources mapping="/resources/**" location="/resources/" /> ``` 并确保 `web.xml` 中的 `<url-pattern>` 设置为 `/` 而非 `/*`,以避免拦截静态资源请求[^2]。 4. **Eclipse 清理缓存并重新部署** Eclipse 的 WTP 插件有时会保留旧的部署信息,导致资源更新未能及时生效。 - 可尝试清理 Tomcat 缓存,在 Eclipse 中右键点击 Server → Clean,随后重启服务器并重新发布项目。 5. **文件权限或路径大小写问题** Linux 系统上的 Tomcat 对文件路径大小写敏感,若在 Windows 上开发而部署到 Linux 环境,可能会因路径大小写不一致导致静态资源找不到。 - 检查静态资源的实际路径是否与请求路径完全匹配,包括大小写。 6. **Tomcat 版本兼容性问题** 若使用的 Tomcat 版本与项目要求的 Java EE 版本不兼容,也可能导致部分资源无法解析。 - 可尝试更换 Tomcat 版本(如从 9.x 升级到 10.x)并确认是否仍存在问题。 --- ### 示例:Spring Boot 项目中配置静态资源访问 ```java @Configuration @EnableWebMvc public class WebConfig implements WebMvcConfigurer { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/static/**") .addResourceLocations("classpath:/static/"); } } ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值