springmvc不进入Controller导致404的问题
目录
- 一.摘要
- 二.出现404的分类以及会导致的原因
- 1.启动项目后,无法访问主页出现的404
- 2.项目启动并且成功进入主页后,访问其他页面出现的404
- 三.分情况详细说明
- 3.1.先附上并简单介绍一下我的工程结构目录图
- 3.2.启动项目后,无法访问主页出现404
一.摘要 emmmm..
对springmvc不太熟练的情况下,如果不出意外的话,项目启动后出现404页面是很烦人。
在这里,我记录一下可能会导致出现这种情况的原因<因为之前的文章结构不算是很清晰,所以这次做一些修改>
二.出现404的分类以及会导致的原因
1.启动项目后,无法访问主页出现的404
2.1.1.查看项目是否启动成功;
2.1.2.确认项目地址的正确性;
2.1.3.作为项目主页的html页面应该放到工程的WebContent的根目录下;
2.项目启动并且成功进入主页后,访问其他页面出现的404
2.2.1. 相关操作访问路径是否正确;
2.2.2. Controller层是否被注解@Controller标注为组件;
2.2.3. springmvc配置文件中,是否配置了对@Controller标签的支持:
2.2.4. springmvc配置文件中,是否配置了对Controller层的扫描:
2.2.5. sprinmvc的配置文件中,视图解析器路径是否配置异常;
2.2.6. 检查web.xml中的相关配置是否正确:
1.是否配置了spring的监听,以及正确加载spring相关配置文件
2.是否正确加载springmvc的配置文件
三.分情况详细说明
3.1.先附上并简单介绍一下我的工程结构目录图
文章图片
简单介绍一下applicationContext-*为什么会有三个:
applicationContext-dao
:里面配置了数据源,以及对mybatis的相关支持<注意我的项目是ssm>applicationContext-service
:里面配置了事务管理applicationContext-trans
:配置了对Service层的扫描
emmm,,,稍微考虑了一下,我决定把applicationContext-trans的配置截图附上:
文章图片
你看把,真的是只配置了对Service层注解的扫描
3.2.启动项目后,无法访问主页出现404
3.2.1. 查看项目是否启动成功;
略
3.2.2.确认项目地址的正确性;
略
3.2.3.作为项目主页的html页面应该放到工程的WebContent的根目录下;
参照上面项目结构
3.3.项目启动并且成功进入主页后,访问其他页面出现404; 3.3.1.相关操作访问路径是否正确;
检查包括:
①. 页面的请求路径截个图,给个案例:
②. Controller层的路径
③. web.xml是否配置了对前端请求的拦截路径<怎么这么多情况....>
①. index.jsp如下
文章图片
②. Controller如下
文章图片
③. 前端拦截器:
注意拦截路径:/表示拦截一切路径,不能是/*
(如果你要问为什么,抱歉,人家这么规定我也无能为力)
文章图片
3.3.2.Controller层是否被@Controller标注为组件
顾名思义,略。(如果这个都不会,你该考虑一下是不是还要把demo给进行下去了)3.3.3.springmvc配置文件中,是否配置了对@Controller标签的支持:
①.
<为什么老是截图?因为我愿意...>②. 什么是
相当于注册了DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter两个bean,配置一些messageconverter。3.3.4.springmvc配置文件中,是否配置了对Controller层的扫描:
简单来说就是: 提供了使用并且能够识别@Controller注解的前提.
既然上面配置了对@Controller的支持,现在就需要配置对@Controller注解的扫描
值得注意的是(比如在我的demo里),3.3.5.springmvc配置文件中,是否正确配置了视图解析器的路径
base-package="controller",而不是bask-package="controller.*";
//value路径配置的是jsp所在的文件夹目录//value配置的是页面的后缀
现在,附上springmvc配置文件springmvc-config的代码截图(现在就是合适的时候):
在这里面包括了上述说的1.注解的支持;2.扫描@Controller注解所在包的配置;3.视图解析器的配置
文章图片
3.3.6.检查web.xml中的相关配置是否正确
注意:我的配置文件在一个资源文件夹下,具体路径还请根据自己的结构目录来配置
①. 是否配置了spring的监听,以及正确加载spring相关配置文件
//配置spring相关配置文件contextConfigLocation//不可修改 classpath:config/spring/applicationContext-*.xml //配置spring监听org.springframework.web.context.ContextLoaderListener
附上截图,方便查看:
文章图片
②. 是否正确加载springmvc的配置文件
标签概念及代码如下:
//配置servletspringmvc//可以理解为刚给当前servlet起名字,可自定义 org.springframework.web.servlet.DispatcherServlet//springmvc的核心处理器,不可自定义contextConfigLocation //核心处理器的初始化,不可自定义classpath:springmvc/springmvc-config.xml //springmvc配置文件的目录,根据自己结构目录自定义 //配置servletMapping springmvc//可以理解为指定被Mapping的servlet的名称(代码第二行中的名称相同)/ //配置拦截路径,/表示全拦截
意思是分别:拦截以do、action、任意后缀或者是无后缀的前端请求
附上截图,方便大家更直观的看:
文章图片
【springmvc不进入Controller导致404的问题】以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
推荐阅读
- 【Python】退出循环的两种不同方式(break和continue)
- 金三银四要来了(不要慌,Android高级面试题刷一刷)
- 为什么研发团队中的管理者往往占比过高,研发管理的效果提升并不明显()
- 一点就分享系列|一点就分享系列(实践篇4-上篇)深度学习部署之Tensorrt转换思路(“授人与鱼不如授人与渔”)
- 定时任务总结,全系列...
- 不后悔的星期四,明道云首次全网公开直播零代码训练营
- backup|backup ram不稳定 stm32_STM32信息安全硬件特性
- 了不起的Chrome浏览器(13)(Chrome 100支持多屏应用了!)
- 消息粘包 和 消息不完整 问题
- java|苹果被罚3.1635亿元,因不愿开放第三方支付!