描述:
- 第一次写完一个Springboot项目,在Myeclipse下调试都没有任何问题,打成war包放入Tomcat的webapp目录下启动,只能进入了登入页面,点击登录按钮无反应,报404。
思路:
- 报404就是登录请求在后台找不到该登录请求路径,Ajax的url与框架注解下的路径一模一样,既然开发工具下是可以调试成功的,打包也没报错,那可能是tomcat解析路径是不是要注意些什么地方,百度找答案中无意看到tomcat解析路径有斜杆与无斜杠的区别,有路径前有“ / ”代表服务器的根目录,没有“ / ”代表当前页面的目录,所以我由于编程习惯问题,总爱根据电脑的路径方式进行拼接,Ajax的url喜欢用“ / ”开头。
解决:
- 所以去掉斜杆就好了。疑问在于为什么在Myeclipse进行测试时候没有问题,打包放入webapp下却不能呢,也许是在开发工具下启动springboot的启动类,项目运行是在内嵌的服务器下的,就斜杆的根目录跟不加斜杆的目录是一致的,而放入tomcat的webapp下的根目录是localhost:8080,不加斜杆则为localhost:8080+项目名+当前页面路径,所以请求找不到。并未深究,希望以后回头来看能知道。