首页 文章资讯内容详情

springmvc不进入Controller导致404

2026-06-01 4 花语

本文内容纲要:

-一.摘要 -二.出现404的分类以及会导致的原因 -1.启动项目后,访问项目无法进入主页,从而出现404; -2.项目启动并且成功进入主页后,主页上一些通过controller层跳转的操作无法找到网页,导致404; -三.分情况详细说明 -3.1.先附上并简单介绍一下我的工程结构目录图: -3.2.启动项目后,访问项目无法进入主页,从而出现404 -3.2.1.查看项目是否启动成功; -3.2.2.确认项目地址的正确性; -3.2.3.作为项目主页的html页面应该放到工程的WebContent的根目录下; -3.3.主页发出请求后,出现404; -3.3.1.相关操作访问路径是否正确; -3.3.2.Controller层是否被标注为@Controller组件 -3.3.3.是否配置了对@Controller标签的支持:<mvc:annotation-driven/> -3.3.4.是否正确配置了对Controller层的扫描:<context:component-scanbase-package=""> -3.3.5.检查web.xml中的相关配置是否正确 - -

一.摘要

emmmm..

对springmvc不太熟练的情况下,如果不出意外的话,项目启动后出现404页面是很烦人。

在这里,我记录一下可能会导致出现这种情况的原因<因为之前的文章结构不算是很清晰,所以这次做一些修改>

二.出现404的分类以及会导致的原因

1.启动项目后,访问项目无法进入主页,从而出现404;

2.1.1.查看项目是否启动成功;

2.1.2.确认项目地址的正确性;

2.1.3.作为项目主页的html页面应该放到工程的WebContent的根目录下;

2.项目启动并且成功进入主页后,主页上一些通过controller层跳转的操作无法找到网页,导致404;

2.2.1.相关操作访问路径是否正确;

2.2.2.Controller层是否被标注为@Controller组件

2.2.3.是否配置了对@Controller标签的支持:<mvc:annotation-driven/>

2.2.4.是否正确配置了对Controller层的扫描:<context:component-scanbase-package="controller">

2.2.5.检查web.xml中的相关配置是否正确

1.是否配置了spring的监听,以及正确加载spring相关配置文件

2.是否正确加载springmvc的配置文件

三.分情况详细说明

3.1.先附上并简单介绍一下我的工程结构目录图:

简单介绍一下applicationContext-*为什么会有三个:

applicationContext-dao:里面配置了数据源,以及对mybatis的相关支持<注意我的项目是ssm>

applicationContext-service:里面配置了事务管理

applicationContext-trans:配置了对Service层的扫描

如果没有对Service层的扫描,就无法使用到@Service标注的组件,从而导致Controller中的出现空指针情况。

emmm,,,稍微考虑一下,我决定把applicationContext-trans的配置截图附上:

你看把,真的是只配置了对Service层注解的扫描

3.2.启动项目后,访问项目无法进入主页,从而出现404

3.2.1.查看项目是否启动成功;

略<sorry,没什么可说的>

3.2.2.确认项目地址的正确性;

3.2.3.作为项目主页的html页面应该放到工程的WebContent的根目录下;

这一点还是需要补充的,因为可能会附上大量贴图,所以我把这个抽出来另写一片博客:

<如果你看到这句话,说明抽出来的这篇博客还没写>

3.3.主页发出请求后,出现404;

3.3.1.相关操作访问路径是否正确;

检查包括:

①.页面的请求路径

②.Controller层的路径

③.web.xml是否配置了对前端请求的拦截路径<怎么这么多情况....>

截个图,给个案例:

①.index.jsp如下

②.Controller如下

多说一句:

如果你喜欢在类名上(也就是@Controller下)也添加一个@RequestMapping(),

那么在类里面的子@RequetMapping注解中的路径是不能再有/的。

<我记得我之前试过,如果说的不对,或者是有人没看懂,就当我没说>

③.前端拦截器:

注意拦截路径:

/表示拦截一切路径,不能是/*

(如果你要问为什么,抱歉,人家这么规定我也无能为力)

3.3.2.Controller层是否被标注为@Controller组件

顾名思义,略

3.3.3.是否配置了对@Controller标签的支持:<mvc:annotation-driven/>

①.该配置我配置在了springmvc-config.xml文件中,在下面讲解合适的时候我会附上代码截图

<为什么老是截图?因为我愿意...>

②.什么是mvc:annotation-driven/

相当于注册了DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter两个bean,配置一些messageconverter。

简单来说就是:提供了使用并且能够识别@Controller注解的前提.

3.3.4.是否正确配置了对Controller层的扫描:<context:component-scanbase-package="">

①.既然上面配置了对@Controller的支持,现在就需要配置对@Controller的扫描

值得注意的是(比如在我的demo里),

base-package="controller",而不是bask-package="controller.*";

②.现在,附上springmvc-config的代码截图:

3.3.5.检查web.xml中的相关配置是否正确

注意:我的配置文件在一个资源文件夹下,具体路径还请根据自己的结构目录来配置

①.是否配置了spring的监听,以及正确加载spring相关配置文件

标签:contextConfigLocation是固定的;

标签:加载spring配置文件(注意路径问题)

②.是否正确加载springmvc的配置文件

先解释标签中的内容

:先不说,会在下面(紧挨)解释

:springmvc的核心,可以理解为对spirngmvc的支持,固定非修改

:可以理解为对springmvc的初始化,即为springmvc指定需要加载的xml配置

:固定非修改

:加载springmvc配置文件(具体根据自己的结构目录配置)

:将加载到的springmvc.xml文件起一个别名

与上面的servlet-name标签保持一致,表示对上面的springmvc.xml做mapping配置

:配置前端拦截器路径。

拦截器路径的配置方式包括:*.do、*.action、/

意思是分别:拦截以do、action、任意后缀或者是无后缀的前端请求

如果有书写错误的地方,或者是有问题的地方请及时评论或者是私信,只要我看到就一定会回复,

以免误导个别萌新。

虽然,我也是个萌新。

你好,我叫吕小布。

本文内容总结:一.摘要,二.出现404的分类以及会导致的原因,1.启动项目后,访问项目无法进入主页,从而出现404;,2.项目启动并且成功进入主页后,主页上一些通过controller层跳转的操作无法找到网页,导致404;,三.分情况详细说明,3.1.先附上并简单介绍一下我的工程结构目录图:,3.2.启动项目后,访问项目无法进入主页,从而出现404,3.2.1.查看项目是否启动成功;,3.2.2.确认项目地址的正确性;,3.2.3.作为项目主页的html页面应该放到工程的WebContent的根目录下;,3.3.主页发出请求后,出现404;,3.3.1.相关操作访问路径是否正确;,3.3.2.Controller层是否被标注为@Controller组件,3.3.3.是否配置了对@Controller标签的支持:<mvc:annotation-driven/>,3.3.4.是否正确配置了对Controller层的扫描:<context:component-scanbase-package="">,3.3.5.检查web.xml中的相关配置是否正确,,,

原文链接:https://www.cnblogs.com/jpfss/p/9584088.html