使用springMVC时遇到的HTTP Status 405

本文介绍了一个关于Spring MVC框架中使用@ResponseBody注解时遇到的后缀名冲突问题及解决方案。作者在实现用户登录验证功能时,遇到了前端POST请求与后端控制器方法间因URL后缀名不匹配导致的问题,并给出了调整URL后缀名来解决问题的方法。

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

先看看问题的详情:


第一眼会觉得这是一个很好解决的问题,我写的controller方法中的确是限定了其不能通过GET方式请求url:

@RequestMapping(value = "isLoginValid", method = { RequestMethod.POST })

但是在前端使用JQuery AJax我的确是没有用GET方式提交数据:

$
									.ajax({
										type : 'POST',
										url : '/TrainingProgramManager/isLoginValid.html',
										data : {
											username : username,
											password : $.md5(password)
										},
										success : function(result) {
											if (result) {
												// 重定向到系统首页中
												window.location = '/TrainingProgramManager/loadIndex.html';

											} else {
												$.messager.alert('错误',
														'用户名或密码错误');
											}
										}
									});
后面发现问题出在:我访问的方法使用了@ResponseBody,而后缀名为html,这里就出现了后缀名冲突的问题(可能是springMVC的视图解析器无法正确解析了),同理的还有htm,json,php等等,所有我们只要在前端控制器的url-pattern里面更换一个后缀名问题就解决了。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值