[问题记录]记录SSM项目实战中遇到的坑:@RequestMapping映射路径与静态资源路径重名问题

  今天在做一个SSM实战项目的时候,遇到了个处理器方法与静态资源之间的问题。以下先贴出问题产生的背景,并给出问题以及出现原因与解决办法:

  1. 静态资源目录
    在这里插入图片描述

  2. 后台处理器Controller的路径设置
    在这里插入图片描述

  3. 出现的问题
        当我在后台添加一个RESTful风格的处理器方法并重启项目时,发现跳转不了doctor/index.html这个页面,报错400。
    在这里插入图片描述
    在这里插入图片描述

  4. 然后检查半天没有一点发现(很是抓狂!),最后的最后发现后台出现了一个WARNING!
       意思是,这个问题在于字符串String在转换成Integer的时候出现了转换异常!可是,我没有发送处理请求呀?只是跳转了doctor包下的index页面。然后好像有点点懵懵懂懂的感觉到问题的所在,我请求跳转的index.html这个页面没有去找静态资源下的页面,而是去访问了处理器,而且WARNING也提到了输入的字符串是index!!!为了验证,我在后台改成String接收,并打印请求路径发现!就是index.html,我的感觉没错!
    在这里插入图片描述

  5. 解决办法
       然后把静态资源文件改了个名称,重启项目之后发现没问题了!
    在这里插入图片描述
    在这里插入图片描述

  6. 为什么会出现这个问题?
       在解决完了这个问题之后,还是有个疑问,就是为什么会出现这个问题,难道是静态资源没处理?明明已经做了静态资源的处理了啊(如下图),而且在没加queryById这个方法之前也没出现过这个错,那就不该是静态资源的问题呀?
    在这里插入图片描述


       想了很久,也百度了很久,最后的最后找到了一个大佬的解惑:
       当配置了@Controller,@RequestMapping,以及静态资源后,可以通过 .html 、.do、.action的路径后缀来进行访问,如果配置了静态资源,此时如果重名(如.html),那么系统会首先查找@RequestMapping,如果找不到,再从静态资源中查找。

    参考问题的跳转链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SSM框架学习宝典:入门、进阶、精通,全方位代码项目资 一、探索SSM的无限可能 SSMSpring + Spring MVC + MyBatis)框架作为Java开发的黄金组合,为开发者提供了强大的技术支持和丰富的功能。本系列资料将带您从零基础开始,逐步掌握SSM的核心技术和最佳实践,助您在Java Web开发领域更上一层楼。 二、资料亮点 基础教程与练习项目:从基础知识讲起,结合实际练习项目,让您轻松上手SSM开发。 进阶技术与案例分析:针对进阶开发者,提供深入的技术探讨和案例分析,助您深入理解SSM的高级特性。 实战项目与经验分享:通过实际项目实战,让您在实践掌握SSM的运用,同时分享经验与心得,让您少走弯路。 三、适用人群与场景 无论您是初学者还是资深开发者,无论您是在校学生还是职场人士,本系列资料都将是您学习SSM的得力助手。适用于Java Web开发、企业级应用开发、个人项目实践等多个领域。 四、使用建议 系统学习:按照资料提供的顺序进行系统学习,确保知识体系的完整性。 实践为王:在学习过程注重实践操作,通过实际项目加深理解。 持续反馈与调整:根据学习进度和反馈,适时调整学习策略,提高学习效果。 五、安全与责任 在使用SSM框架进行开发时,请确保遵循最佳实践和安全准则,以保障系统的稳定性和安全性。在使用提供的资料时,请遵守版权法规,尊重原作者的权益。让我们共同为推动SSM技术的发展而努力!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值