问题:项目也做了两三个了,但是有时对项目的访问路径还是会犯浑,究竟什么时候加斜杠?什么时候可以不加斜杠?什么时候用相对路径,什么时候用绝对路径?配置pagecontext.contextapth 应该怎么用?
一:在SSM项目中,@requestMapping()中 斜杠可以省略 但是配置动态路径时,斜杠需要加上
@RequestMapping("test/{cid}")
前端什么时候加斜杠? 如果是前后端不分离的项目呢,假设你的静态资源放在webapp下的js目录 。 webapp是项目的根目录,但js不是项目根目录,在前端引用时需要加 ../ 点点杠 再去访问,有多几级就写几级。前后端分离项目 前端完全脱离后端;直接写路径就可以。
前端传输到后台地址怎么写?
基于Tomcat运行的项目 tomcat 会有一个访问根目录。我一般设置为 / 斜杠 。这样,前端发送请求就不需要加前缀,直接写 /## 斜杠
这里为啥要加斜杠? 因为tomcat访问地址是:localhost:8080/index/test
每个路径前面都有个斜杠。
特别注意:相对路径和绝对路径:tomcat需要绝对路径
前端跳转到controller 如果不加斜杠 会访问到你的静态资源文件夹的文件路径
例如 你访问的是 action="test" 则会被解析为 localhost:8080/test 这是啥?既不是静态文件路径 也不是controller接口路径
这种一般会报404的
不过---- 前端虽然必须加斜杠 但是后台controller可以不写斜杠
前后端分离项目前端引入资源用相对路径,
springBoot项目的访问路径:
其内置了Tomcat 服务器,我们要想改变其访问路径,可以在.yml文件 加入
-
server: context-path:/springboot
这个默认访问路径配置之后,前端访问后台接口都需要加springboot/......
不过可以配置全局变量,从servlet开发开始${pageContext.getcontextPath}
获取到当前绝对路径:localhost:8080/ 这种路径,只需在后面+资源路径就可以访问了。
到ssm项目,前后端都可以使用。
springBoot项目: 需要在Application.properties文件中加入server.context-path = /你的path,比如:spring-boot,那么访问地址就是http://ip:port/spring-boot 路径。