Apache Tomcat返回HTTP 404访问/nivi%20/register资源报错咨询
Apache Tomcat 9.0.52 访问
/nivi%20/register返回404问题排查与解决 报错详情:
HTTP Status 404 – Not Found
Type Status Report
Message 请求的资源[/nivi%20/register]不可用
Description 源服务器未找到目标资源的当前表示,或不愿意透露该资源是否存在
Apache Tomcat/9.0.52
触发原因
- 路径编码问题:
%20是空格的URL编码,说明请求路径包含空格,实际项目部署路径或接口路径大概率无对应空格,导致路径匹配失败 - 应用部署异常:路径中对应
nivi(末尾带空格)的web应用未部署到Tomcat的webapps目录,或部署过程出错导致应用启动失败 - 接口映射错误:应用内部register接口的
@RequestMapping/@WebServlet配置路径与实际请求路径不匹配 - 上下文路径配置不符:Tomcat配置的应用上下文路径和请求中的
/nivi%20不一致 - 目标资源已变更:register对应的接口/页面已被删除、重命名或移动到其他路径
排查方向
- 校验请求URL:先确认路径中的
%20是否为输入错误,实际应用上下文路径是否为/nivi而非带空格的/nivi - 检查应用运行状态:登录Tomcat管理端查看nivi相关应用的状态,确认是否处于正常运行状态
- 查看启动日志:打开Tomcat安装目录下
logs/catalina.out文件,查找nivi应用部署过程中的报错信息,确认是否存在配置错误、依赖缺失等问题 - 核对接口映射配置:应用启动正常的前提下,检查register接口的路径配置,确认是否和请求路径完全匹配
- 检查上下文路径配置:查看应用
META-INF/context.xml的path属性,或Tomcatconf/server.xml中对应Context节点的path配置,确认是否与请求前缀一致
解决方法
- 修正路径空格问题:如果是输入URL时误加空格,直接删除空格后请求
/nivi/register即可;如果确实需要上下文路径带空格,确认部署的应用目录名确实为nivi(末尾带空格),保证Tomcat可正确识别 - 修复应用部署异常:根据启动日志的报错信息修复配置错误、依赖缺失问题,重新打包应用放到webapps目录,等待应用启动完成后再发起请求
- 修正接口映射配置:调整Controller或Servlet的路径注解,保证和请求路径完全匹配,修改后重新打包部署
- 统一上下文路径:修改
context.xml或server.xml中的path属性为目标路径,也可直接将war包命名为对应名称(比如需要上下文为/nivi就命名为nivi.war,Tomcat会自动匹配上下文路径) - 恢复目标资源:如果register资源被误删或重命名,回滚对应代码,恢复资源配置后重新部署
内容的提问来源于stack exchange,提问作者Pavii B L
相关产品推荐
相关产品推荐

