[问题]SpringMVC RestFul风格编码404
程序员文章站
2024-03-25 16:54:40
...
学习springmvc时,碰到用RestFul风格url,浏览器却一直报404。
@RequestMapping(name="/add.do/{a}/{b}", method= RequestMethod.DELETE)
public String test(@PathVariable int a,@PathVariable int b , Model model){
model.addAttribute("msg","结果为"+(a+b));
return "test";
}
按理说 输入http://localhost:8080/ch04web/add.do/1/2 会跳转到test,然鹅显示404.The requested resource is not available.
排查原因后发现是在web.xml配置里面用到了扩展名方式:
<!--当访问mvc时才会创建出来-->
<servlet-mapping>
<servlet-name>Myweb</servlet-name>
<!-- 作用:把一些请求交给指定的当前servlet处理
框架中,使用的*调度器(DispatcherSerclet)(前端控制器)
1.使用扩展名方式: *.xxx *.do 等等...
有一个不能用 *.jsp: 在程序中访问index.jsp 在java中有特殊的格式文件
*.do 的方式 使用“/”
-->
<url-pattern>/mymvc</url-pattern>
<url-pattern>/query</url-pattern>
<!--*表示字符 .do 表示.do结尾的请求就交给该处理进行处理-->
<url-pattern>*.do</url-pattern>
</servlet-mapping>
和这里的*.do冲突了,把改为拦截所有请求 /即可
这个问题的产生主要是因为普通的http请求拦截一般会有后缀的形式,但是restful形式的风格,则没有后缀的方式,所以我们需要springmvc的拦截器的拦截方式修改一下就可以了。
推荐阅读
-
[问题]SpringMVC RestFul风格编码404
-
restful风格编码的简单应用
-
SpringMVC结合Ajax使用Restful风格实现前后端分离
-
3.4 SpringMVC --JSON数据交互和RESTFUL风格接口支持
-
解决SpringMVC同时接收Json和Restful时Request里有Map的问题
-
详解Spring框架之基于Restful风格实现的SpringMVC
-
解决SpringMVC同时接收Json和Restful时Request里有Map的问题
-
详解Spring框架之基于Restful风格实现的SpringMVC
-
基于SpringMvc实现Restful方式接口返回406的问题
-
springMVC获取requestMapping、restful风格中路径的参数