spring MVC

20 篇文章 0 订阅
1 篇文章 0 订阅

一,基本概念



1.DispatcherServlet:前端控制器。

浏览器的请求通过DispatcherServlet的分发到达合适的controller,从而生产业务数据Model,Model再通过DispatcherServlet传递给View来实现最后的页面呈现。因此MVC将数据业务逻辑和页面实现分离的核心是DispatcherServlet。



2.Controller:控制层。

调用业务逻辑生成Model的地方。


3.HandlerAdapter:适配器模式。

将各种不同类型的Handler适配成DispatcherServlet可以使用的Handler,这样DispatcherServlet就可以很轻松地调用Controller。



4.HandlerInterceptor:拦截器。

在被拦截对象的两侧加入一些处理,可在调用controller前后以及Model发送到view完成呈现之后做拦截。


5.HandlerMapping:DispatcherServlet和Controller之间的映射关系类。

作用:

A.告诉DispatcherServlet请求到来后由哪个Controller来响应。

B.在HandlerMapping做完A工作之后,它可以给DispatcherServlet一个HandlerAdapter,HandlerAdapter包括controller和HandlerInterceptor。


6.HandlerExecutionChain:执行链条。

就是第5条中的作用B提到的controller和HandlerInterceptor一起构成的一个执行链条。



7.ModelAndView:Model的具体表现形式。

spring MVC可以用Model类或者Map类等来实现Model的功能,但DispatcherServlet会将这些类都转换成ModelAndView。


8.viewResolver:视图解析器。

根据配置找出合适的视图对象返回给DispatcherServlet来调用。


9.view:视图对象。负责呈现页面。


二.spring MVC的配置


1.spring的声明:配置spring的上下文即applicationContext.xml的路径(在web.xml中配置 )



2.配置DispatcherServlet : springMVC的上下文即DispatcherServlet.xml的路径(在web.xml中配置)



3.mvc-dispatcher-servlet.xml的配置





4.applicationContext.xml的配置    


exclude-filter 表明spring上下文不需要管理Controller



三.spring MVC实操


1.spring MVC的注解

@Controller  :声明一个Controller

@RequestMapping : 映射url和方法,类级别和方法级别的RequestMapping共同组合完成对一个url映射请求的拦截

URL template  结合 @RequestParam  和 @PathVariable 两个标记 可以将url路径中的参数绑定到方法的参数

传统方法:通过HttpServletRequest 或 HttpSession获取对象





2.spring MVC数据绑定

@ModelAttrbute  :实现模型对象和页面数据的绑定

注意:表单提交数据时页面字段的name属性应当和模型对象的属性名称一致



3.JSON

spring MVC 使用ContentNegotiatingviewResolver处理相同数据的不同呈现方式


@ResponseBody :说明返回的对象会被响应所使用


ResponseEntity :spring MVC抽象出的一个实体,用泛型的方式包裹类,返回它的实例就可以返回一个响应的对象




4.单文件上传

A.配置CommonsMultipartResolver :解析上传的文件


B.上传表单需要加属性 enctype="multipart/form-data"


C.编写Controller

MultipartFile : spring MVC提供的访问上传文件的接口


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值