场景:
controller为
@Controller
public class EncodingController {
@PostMapping("/e/t1")
public String test1(String name, Model model){
model.addAttribute("msg",name);
return "test";
}
}
前端form表单为
<form action="/e/t1" method="post">
<input type="text" name="name">
<input type="submit">
</form>
运行起来后
随便输入一个数
点击提交后
注意看它的URL地址,本来我们想着的URL应该变为
http://localhost:8080/springmvc_05_controller_war_exploded/e/t1
但是它自动把8080后面的一段给删掉了,这样自然是找不到的。
解决办法
方法1修改Application context
将Application context的直接改为/,这样我们访问的时候8080后面也不带任何东西。
方法2:修改action
它不是会自动删除8080后的那一段东西嘛,我们再重新给它加上就行了不是嘛
<form action="${pageContext.request.contextPath}/e/t1" method="post">
<input type="text" name="name">
<input type="submit">
</form>