springmvc中前端调用controller方法路径问题
以前学习springmvc时没有理解前端访问controller中方法路径问题,做项目时刚好遇到,百度了一下没有找到想要的答案,后来突然就顿悟了。。。。。,虽然很基础但还是记录了一下,大佬请见谅。
controller中主要用@RequestMapping注解来定义访问路径,一般定义一个类加载路径和多个方法加载路径,but。。前端是怎么通过路径去访问的呢?
项目结构:
通常来说第一次访问都是自己定义的根路径加上类上@RequestMapping路径加上方法上的@RequestMapping路径,如下图,根路径+/admin/user/list,一般为http://localhost:8080/项目名/admin/user/list或者
http://localhost:8080/admin/user/list,这不难理解。
but。。。同一个前端list如何访问不同Controller下的方法,为什么会../../ :
注意此处../../并不是加载静态资源时在webapp下向上返回两层,而是在此时所在list路径http://localhost:8080/admin/user/list向上返回两层:
一、请求同一个类加载路径里不同方法
此时在Usercontroller下路径为 http://localhost:8080/admin/user/list,前端url直接写方法上的r即可得到路径http://localhost:8080/admin/user/addUser。
二、请求不同类加载路径里方法
此时路径 http://localhost:8080/admin/user/list,想访问Rolecontroller里的方法
直接访问地址为http://localhost:8080/admin/role/list,但此时在http://localhost:8080/admin/user/list下,应该../一次返回到admin下才能加载到role/list
简单来说,最容易找到路径的方法,直接找到当前路径如:http://localhost:8080/admin/user/list,
现在我们想访问的controller方法路径为http://localhost:8080/admin/user/list,通过对比就知道需要返回几层。