IDEA启动后控制台不报错,但是页面访问404的解决方案

 更新时间:2026年04月21日 10:35:55   作者:二哈喇子!  
文章浏览阅读1.7w次,点赞23次,收藏71次。本文解决了一个SSM项目中因路径配置不当导致的404错误问题,通过调整控制器中的URL映射和视图返回路径,最终实现了项目的正常运行。

这种情况多为导入的SSM项目,Springboot项目较少出现这种情况

项目场景

提示:idea直接导入项目,路径错误:

控制台页面:

日志页面:

浏览器页面:

问题描述

打开一个项目发现404报错,我觉得不是路径错了就是单词写错了

但是咱们跑代码都是写得相对路径

后来经过一位大佬的指点,他告诉我:找到 controller层写首页的位置,试试那个方法

我不敢说恍然大悟,只是突然觉得好像自己傻了 😔

然后我就根据大佬的指点去controller里面找登录的代码:

	@RequestMapping(value="/login",method=RequestMethod.GET)
	public String login(Model model) {
		model.addAttribute(new Admin());
		return "login";
	}

然后在login.jsp中找到返回首页的代码:

<div id="btn">
	<a  href="#" rel="external nofollow"  class="easyui-linkbutton">登录</a>
	<input type="button" name="Button" value="返回首页"
		   onclick=window.location.href="index.jsp" rel="external nofollow" >
</div>

然后我在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中相对路径的几个写法规则

  • / 】表示根目录
  • ./ 】表示当前文件所在的目录
  • . ./ 】表示当前文件所在的上层目录

在Java应用程序中,如果要从程序运行时的工作目录开始计算文件路径,则相对路径可能如:src/main/resources/config.properties,其中假设配置文件相对于程序启动时的工作目录下的src/main/resources路径。

例如,在Web应用内引用一个资源文件,可能会使用相对路径:./images/logo.jpg../css/style.css

根据目标文件位置我们可以在斜杠后面加上上下层目录的名称或文件名称(带后缀名)

//采用${pageContext.request.contextPath}的写法保障了从根开始找起,以后无论把index.jsp拖到哪,都是从根开始找
<form action="${pageContext.request.contextPath}/index" method="post">

相对路径在写的时候会有以 “/” 开头和不以 “/” 开头的写法

// 以 "/" 开头的相对路径:
<a href="/hello/index.html" rel="external nofollow" >链接1</a>  

// 不以 "/" 开头的相对路径:
<a href="index.html" rel="external nofollow" >链接1</a> 

在Java项目中,通常会写在controller包中

css文件或style标签内引用的图片路径,只允许使用相对路径。

总结

绝对路径是目标文件在电脑硬盘上的真实路径

相对路径是指目标文件相对于当前文件的路径

不知道路径前提先把环境配置好,然后再去看controller包里面首页是怎么写的

不同操作系统使用的斜杠不同(Linux系统是/,Window系统是\)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java中为什么ArrayList初始化容量大小为10

    Java中为什么ArrayList初始化容量大小为10

    这篇文章主要介绍了Java中为什么ArrayList初始化容量大小为10,带着问题围展开详细的介绍,感兴趣的小伙伴可以参考一下
    2022-06-06
  • 关于Spring中@Lazy注解的使用

    关于Spring中@Lazy注解的使用

    这篇文章主要介绍了关于Spring中@Lazy注解的使用,@Lazy注解用于标识bean是否需要延迟加载,没加注解之前主要容器启动就会实例化bean,本文提供了部分实现代码,需要的朋友可以参考下
    2023-08-08
  • Java程序结构与常量变量难点解析

    Java程序结构与常量变量难点解析

    JAVA的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构
    2021-10-10
  • 基于SpringBoot实现一个方法级耗时监控器

    基于SpringBoot实现一个方法级耗时监控器

    本文介绍基于SpringBoot实现的轻量级耗时监控器,通过AOP拦截方法并分级存储数据,提供可视化统计界面,支持调用次数、耗时、失败次数分析及多维排序,适合中小型项目快速集成,无需复杂配置,需要的朋友可以参考下
    2025-09-09
  • SSH框架网上商城项目第11战之查询和删除商品功能实现

    SSH框架网上商城项目第11战之查询和删除商品功能实现

    这篇文章主要为大家详细介绍了SSH框架网上商城项目第11战之查询和删除商品功能实现的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • SpringBoot集成tensorflow实现图片检测功能

    SpringBoot集成tensorflow实现图片检测功能

    TensorFlow名字的由来就是张量(Tensor)在计算图(Computational Graph)里的流动(Flow),它的基础就是前面介绍的基于计算图的自动微分,本文将给大家介绍Spring Boot集成tensorflow实现图片检测功能,需要的朋友可以参考下
    2024-06-06
  • Swagger在java中的运用及常见问题解决

    Swagger在java中的运用及常见问题解决

    Swagger插件是一款深受Java开发者喜爱的工具,它在前后端分离的开发模式下发挥着重要作用,这篇文章主要介绍了Swagger在java中的运用及常见问题的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-06-06
  • 区块链常用数据库leveldb用java来实现常规操作的方法

    区块链常用数据库leveldb用java来实现常规操作的方法

    这篇文章主要介绍了区块链常用数据库leveldb用java来实现常规操作,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • mybatis-plus如何禁用一级缓存的方法

    mybatis-plus如何禁用一级缓存的方法

    这篇文章主要介绍了mybatis-plus如何禁用一级缓存的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • Java利用跳跃表解决双重队列问题详解

    Java利用跳跃表解决双重队列问题详解

    这篇文章主要为大家详细介绍了Java如何利用跳跃表来解决双重队列的问题。本文通过一个简单的例题进行了讲解,感兴趣的小伙伴可以了解一下
    2022-12-12

最新评论