赞
踩
上周尝试把SpringBoot项目以WAR包的形式部署到Tomcat, 在访问路径这个问题上遇到了问题并折腾了很久。问题解决之后,总结经验如下:
1. 类中的路径映射可以写得简单一点:(项目名是detect-mgr)
启动类的路径就用“/”,不用加项目名
- @RequestMapping("/")
- public class WebappApplication extends SpringBootServletInitializer {
- //...
- }
其他Controller中的路径就直接写“/xxx”, 不用加项目名
- @RequestMapping("/login")
- public class LoginCtrl {
- //...
- }
2. 上述代码中的路径映射没有放项目名,访问的时候url就只能直接跟在端口后面。如果放项目名,则提示404.
而更合理的url应该是在路径中体现项目名的:
http://localhost:8080/detect-mgr/login
为了把项目名放入url中使其看上去更合理,需要在application.properties文件中添加context-path设置:
SpringBoot 1.x的写法:server.context-path=/detect-mgr
SpringBoot 2.x的写法:server.servlet.context-path=/detect-mgr
参考:https://blog.csdn.net/Monster_WangXiaotu/article/details/104834339/
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。