SpringMVC响应Restful风格请求404

本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> SpringMVC响应Restful风格请求404

一、问题

在学习Springmvc时,使用Restful风格的url,页面提示404错误。为找到原因,编写一个简单的Restful测试用例如下:

jsp页面:


<a href="user/testRestful.do/1">测试restful</a>

Java代码:



package com.mySSM.controller;

@Controller
@RequestMapping("/user")
public class UserLoginController {<!-- -->
    private static Logger logger=LoggerFactory.getLogger(UserLoginController.class);
    @RequestMapping("/testRestful.do/{id}")
    public String testRestful(@PathVariable("id") Integer id){
        System.out.println(id);
        return null;
    }
}

但是依然提示404异常:The requested resource is not available.

二、原因分析

web.xml配置文件中使用dispatch配置如下:


&lt;servlet-mapping&gt;
    &lt;servlet-name&gt;dispatcher&lt;/servlet-name&gt;
    &lt;url-pattern&gt;*.do/url-pattern&gt;
&lt;/servlet-mapping&gt;

当使用上述配置时,找到url对应的controller,Springmvc不认为url请求和@RequestMapping可以对应。

三、解决方法

&lt;url-pattern&gt;*.do/url-pattern&gt;改为拦截所有请求: / 这个问题的产生主要是因为普通的http请求拦截一般会有后缀的形式,但是 restful形式的风格,则没有后缀的方式,所以我们需要springmvc的拦截器的拦截方式修改一下就可以了。

原文地址:https://sihai.blog.csdn.net/article/details/80519682

本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> SpringMVC响应Restful风格请求404


 上一篇
【通知】+ java基础提升篇——Java 序列化的高级认识 【通知】+ java基础提升篇——Java 序列化的高级认识
点击上方“好好学java”,选择“置顶公众号” 优秀学习资源、干货第一时间送达! 好好学java java知识分享/学习资源免费分享 关注  精彩内容  【通知】前面几天向小伙伴们征求了一下意见是否要每
2021-04-04
下一篇 
NIO基础详解 NIO基础详解
点击上方“好好学java”,选择“置顶公众号” 优秀学习资源、干货第一时间送达! 好好学java java知识分享/学习资源免费分享 关注 Netty 是基于Java NIO 封装的网络通讯框架,只有充
2021-04-04