spring mvc + ajax,请求发送不到controller层

本文探讨了在使用Spring MVC结合AJAX时遇到的问题:当JS文件中的AJAX请求无法正确达到Controller层的情况。作者通过调整RequestMapping注解的值解决了路径匹配问题,并分享了解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在用spring  mvc + ajax,遇到了一个问题,即在js中,ajax的url请求发送不到controller层,琢磨了很久也没找出原因。

主要文件目录结构如下:webcontent/js ,webcontent/jsp , webcontent/index.jsp, webcontent/web-inf。

如果将jsp目录下的.Jsp文件放到与index.jsp同目录下,则ajax的url请求可以发送到controller层,但如果.jsp文件是在jsp目录下,则ajax的url请求发送不到controller层。

最后调试了一下,发现请求路径中与controller层的requestmapping里的value值不一样,然后将该value值的前面加上jsp,发现可以发送成功了。总结如下:

在controller层中,requestmapping的value值应该是发送请求的jsp所在的目录加上ajax中url的值,本例中,发送请求的jsp文件所在的目录为jsp,而url为hello/register.html,则requestmapping的value值应该为jsp/hello/register.html,若发送请求的jsp文件所在目录为jsp/register,而ajax的url不变,则该value值为jsp/register/hello/register.html。

以前遇到一种情况,就是不管jsp文件所在的目录是什么,只要controller层中,requestmapping的value与ajax中url的值一样,请求就能发送过去,即,若ajax的url值为hello/reigster.html,则value值也为hello/register.html就可以了,就不管发送请求的jsp文件所在的目录结构是什么,请求都可以发送到该controller中。估计这和spring中相关的配置有关,如若哪位朋友知道上述这种只要ajax的url值与requestmapping中value相等,而不用管jsp的所在目录结构的配置,希望不吝赐教。


下面的附件不是图片,是该工程的一个rar包,有需要的朋友可以将后缀名改为rar,就可以使用该工程了。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值