行业知识
org.springframework.web.servlet.DispatcherServlet.noHandlerFound No mapping for POST /sXXX
org.springframework.web.servlet.DispatcherServlet.noHandlerFound No mapping for POST /springmvc01/params03
- 没有处理程序方法来处理指定URL的POST请求
*该方法当前配置为处理GET请求。如果您希望它处理POST请求,您需要在@RequestMapping注解中指定HTTP方法。
- 这里很奇怪
,因为之前有一个方法:
/**复杂参数数据类型 /*http://localhost:8080/springmvc01/params02?name=john*///@ModelAttribute User user @RequestMapping("/params02") public String params02(User user) { System.out.println(user); return "params"; }输入上面的路径,以及后续提交表单都是可以正常输出结果的。
params.jps
Title
简单参数演示
姓名:复杂类型参数演示
后面的是给人看的--%> id: 姓名: 外号:狗剩 二 爱好:唱歌 跳舞 亲属:父亲 母亲 角色: 朋友:按照上面说的没有POST请求的处理方法:
因此改为:
@RequestMapping(value="/params03",method= RequestMethod.POST)// http://localhost:8080/springmvc01/params/params03?user.name=koil public String params02post(UserDTO userDTO) { System.out.println(userDTO); return "index2"; } @RequestMapping(value="/params03",method= RequestMethod.GET)// http://localhost:8080/springmvc01/params/params03?user.name=koil public String params02get(UserDTO userDTO) { System.out.println(userDTO); return "index2"; }index.jps
index2
复杂类型参数演示
后面的是给人看的--%> id: 姓名: 外号:狗剩 二 爱好:唱歌 跳舞 亲属:父亲 母亲 角色: 朋友:新增角色
Id: 角色名字:UserDTO.java
public class UserDTO { private User user; private Role role; public User getUser() { return user; } public void setUser(User user) { this.user = user; } public Role getRole() { return role; } public void setRole(Role role) { this.role = role; } @Override public String toString() { return "UserDTO{" +"user="+ user+ ",role= " + role + '}'; }}_______________________________________________分割线
补充:
/*
*只有映射路径为/params03的GET方法且return的页面是提交表单,提交后出现了这样的错误:
* 警告 [http-nio-8080-exec-4] org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.logException Resolved [org.springframework.web.HttpRequestMethodNotSupportedException: Request method ‘POST’ not supported]
* 补充了POST方法之后就没有错误了.
* 问题是:return页面名称后,发生了什么样的变化,过程如何?以及提交表单后发生了什么?
* */
@RequestMapping(value="/params03",method= RequestMethod.POST) public String params02post(UserDTO userDTO) { System.out.println(userDTO); return "index"; } @RequestMapping(value="/params03",method= RequestMethod.GET) public String params02get(UserDTO userDTO) { System.out.println(userDTO); return "index2"; }输入下面的路径后,进入GET方法:
index2.jps:
提交表单后:
跳转到了POST方法对应的index.jps页面
总结:
附加:
来源:http://t.csdnimg.cn/HXSWU
- 这里很奇怪