关于jsp的action的路径问题
今天遇到表单提交问题,通过jsp的action
提交给controller
处理,但是总是404
错误,检查了视图解析器没有错误,地址栏直接传参也会成功,后来观察了一下地址栏,发现表单提交完之后,路径上没有项目名,试了试在action中加入项目名,成功了。
工程名如下:
![](https://gitee.com/xsyzer/image_01/raw/master/img/20201006160931.png)
jsp
的action
原本是这么写的:
<form action="/login1" method="post">
controller
是这么写的:
@PostMapping("/login1")
public String hello1(Model model,String name){
model.addAttribute("msg",name);
return "hello";
}
以为action
要和Postmapping
一样,实际上如果这样写,提交之后,路径就是
http://localhost:8080/login1
而正确的应该是
http://localhost:8080/demo/login1
所以需要把jsp
的action
加上工程名:
<form action="/demo/login1" method="post">
这个问题花费了一个多小时,就怪自己基础没学好。