1. springmvc主要构成组件
- dispatcherservlet(主控制器)
- handlerMapping根据请求定位controller
- controller业务控制器等价于action
- modelandview封装了模型数据和视图标识
- viewResolver视图解析器
2. spring mvc主要处理流程
客户端发出mvc请求,请求交给主控制器处理——>主控制器调用handlerMapping组件,根据请求名找到相应的Controller组件——>主控制器调用controller组件,处理请求,处理完毕返回一个modelandview对象——>主控制器调用viewresolver对象,定位view组件,并解析生成响应内容——>将响应的内容输出给用户
3. 入门示例
login.do——>controller——>login.jsp
- 引入spring和springmvc的开发包
- 在web.xml中加入dispatcherServlet的配置
- 在src下引入applicationContext.xml配置
- 编写controller组件
- 在applicationContext.xml配置 handlerMapping组件、viewResolver组件、定义controller组件(可使用注解方式)
- controller的使用,业务方法灵活定义成以下格式
public String execute(){}
public String execute(httpRequest request){}
public String execute(httpRequest request,httpResponse response){}
public String execute(User user){}
public String execute(Model model){}
public ModelAndView execute(){}
- 常用注解
@controller 负责注册一个bean到上下文
@requestMapping 注解为控制器指定可以处理哪些url请求
@requestBody该注解用于读取request请求的body部分数据
@responseBody该注解用于controller的方法返回对象,通过适当的httphttpMessageConver转换为指定的格式后,写入到response对象的body数据区
@requestParam 在请求方法入参处使用可以将请求参数值传过来
@pathvarlable 可以拿到url中的值