1. 导包
  2. 配置
    1. 配置前端控制器```xml ```

细节

  • 运行流程
    1. 客户端发送请求
    2. 来到tomcat服务器
    3. springmvc的前端控制器收到所有请求
    4. 判断请求地址和@RequestMapping注解是否有匹配, 进而判断哪个方法进行请求处理
    5. 前端控制器找到目标类和方法, 直接利用反射执行目标方法
    6. 方法执行完后会有一个返回值, springmvc认为这个返回值就是要去的页面地址
    7. 拿到方法返回值以后, 用视图解析器进行拼串得到完整的页面地址
    8. 前端控制器转发到目的地址
  • @RequestMapping()
    告诉springmvc注解的方法用来处理什么请求
  • 不指定配置文件位置
    如果不指定springmvc前端控制器的默认配置文件路径, 会默认找/WEB-INF/xxx-servlet.xml文件, 其中xxx就是在web.xml文件中配置的前端控制器的名称
  • url-pattern

@RequestMapping

  • 类定义处
    提供初步的请求映射信息. 相对于web应用的根目录
  • 方法处
    提供进一步的细分映射信息. 相对于类定义处的url. 若类定义处未标注@RequestMapping, 则方法处标记的url相对于web应用的根目录
  • 规定请求方式

    1. GET,
    2. HEAD,
    3. POST,
    4. PUT,
    5. PATCH,
    6. DELETE,
    7. OPTIONS,
    8. TRACE
  • 规定请求参数
    参数表达式:

    • param : params = {“username”}, 发送请求必须携带名为username的参数, 否则404
    • !param: params = {“!username”}, 发送请求必须不携带名为username的参数
    • param=value: params = {“username=123”}, 发送请求必须携带名为username且值为123的参数
    • param!=value: 不带或者带参数但值不为value

参数为url参数或post请求体内的参数均可以满足要求

  • 规定请求头

@PathVariable()

/user/{username}
在方法参数列表添加注解@PathVariable("username") String username, 获取路由参数