发布于2026-07-17 阅读(0)
扫一扫,手机访问
这种情况,在导入SSM项目时尤为常见,Spring Boot项目倒很少遇到。
用IDEA直接导入项目,路径不对,就会出现这种尴尬——控制台不报错,页面却直接404。
控制台页面:

日志页面:

浏览器页面:

打开一个项目,发现404报错。通常问题不是出在路径,就是单词拼写有误。但跑代码时,大家写的都是相对路径。
后来经一位大佬指点:去Controller层找到首页对应的方法,重新试一下。那一刻,思路突然清晰了——顺着大佬的思路,找到Controller里的登录代码:

@RequestMapping(value="/login",method=RequestMethod.GET)
public String login(Model model) {
model.addAttribute(new Admin());
return "login";
}
然后在login.jsp中找到返回首页的代码:

在IDEA里设置的路径是这样的:

所以最后两个地址分别是:
http://localhost:8080/bus_ssm/login.jsp#http://localhost:8080/bus_ssm/index.jsp#
虽然一开始写法是对的,但没跑通的原因很可能是项目其他地方没配置好。不过后来重新打开该项目时,并没有额外配置其他地方。到底问题出在哪,还需要多看几个项目才能总结。
从这个项目可以看出路径的重要性。请求路径分为绝对路径和相对路径,而项目运行需要的是相对路径。
另外,还要确认一下自己进的包是不是对的——是①号包还是②号包?

绝对路径是目标文件在电脑硬盘上的真实路径。例如,项目中的index.jsp路径就是:
【E:\桌面\公交车查询系统的设计与实现\bus_ssm\WebContent\index.jsp】

绝对路径从系统盘符开始写,一直写到文件名称并包括后缀名,目录或文件名称之间用捺斜杠 \ 分开。获取绝对路径,可以右键点击文件选择【Copy Path/Reference…】。

也可以用传统方法在电脑中找到该文件,在上方复制路径,或者右键文件属性,把文件名包括后缀复制进去。


相对路径是相对于当前工作目录或参考点目录的路径,不包含完整的从文件系统根目录开始的路径信息。在Web应用中,相对路径有特殊含义,比如在Servlet中相对路径的几个写法规则:
在Ja va应用程序中,如果从程序运行时的工作目录开始计算文件路径,相对路径可能如:src/main/resources/config.properties,其中配置文件相对于程序启动时的工作目录下的src/main/resources路径。
例如,在Web应用内引用一个资源文件,可能会使用相对路径:./images/logo.jpg 或 ../css/style.css。根据目标文件位置,可以在斜杠后面加上上下层目录的名称或文件名称(带后缀名)。
// 采用${pageContext.request.contextPath}的写法保障了从根开始找起,以后无论把index.jsp拖到哪,都是从根开始找
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8