springmvc 基础

在最简单的springmvc应用程序中,控制器是唯一需要在java web部署描述文件(web.xml)中配置的servlete(springmvc的控制器是Dispatcher Servlet)。每个web的生命周期必须通过Dispatcher Servlet以便管理整个请求的生命周期。

springmvc 基础

工作流程:

1.用户发送请求request,请求别DispatcherServlet获取

2.DispatcherServlet对URL进行解析调用HandlerMapping,HandlerMapping将会请求映射为HandlerExecutionChain对象(包括

Handler(页面控制器对象)和多个HanderInterceptor拦截器)、返回给DispatcherServlet

3.DispatcherServlet将Handler给HanderAdapter(处理器适配器)

4.handlerAdapter适配到相应的处理方法(Controller)完成功能处理,并且返回一个ModelAndView对象给DispatcherServlet

5.DispatcherServlet将ModelAndView交给VievResolver(视图解析器),解析为具体的View,并返回

6.然后Dispatcher根据穿进来的Model模型数据对View进行渲染,此处的Model实际是一个Map数据结构

因此更容易支持其他视图技术

7.返回控制权给DispatcherServlet,由DispathcerServlet返回相应用户,到此结束流程

springmvc常用注解:

@Controller声明action组件

@Service声明Service组件

@Repository声明Dao组件

@Component  泛指组件,当不好归类时

@RequestMapping(“/index”) 请求映射(url路径)

@Resource  用于注入(j2ee提供),默认按照名称注入@Resource(name="beanName")

@AutoWired用于注入(spring提供) 默认按照类型装配

@Transactional(rollbackFor={Exception.clas})事务管理

@ResponseBody 表示返回类型将会直接作为HTTP响应字节

@Scope(“prototype”)  设定bean的作用域

@PathVariable  方法中的参数绑定到地址URL的模板

例如:

Java代码
@RequestMapping(value="/owners/{ownerId}", method=RequestMethod.GET)
public String findOwner(@PathVariable String ownerId, Model model) {
Owner owner = ownerService.findOwner(ownerId);
model.addAttribute("owner", owner);
return "displayOwner";
}

@RequestParam  @RequestParam包含3个配置 @RequestParam(required = ,value="", defaultValue = "") 
    required :参数是否必须,boolean类型,可选项,默认为true 
    value: 传递的参数名称,String类型,可选项,如果有值,对应到设置方法的参数 
    defaultValue:String类型,参数没有传递时为参数默认指定的值

上一篇:Python day15装饰器基本理论,以及结合全局变量模拟session


下一篇:10.26最后的模拟DAY2 数字对[暴力]