springMVC
什么是MVC
MVC是模型(Model),视图(View),控制器(Controller)的简写
是一种软件的设计规范。
是将业务逻辑,数据,显示分离的方式来组织代码。
MVC主要作用是降低了视图与业务逻辑间的双向耦合。
MVC不是一种设计模式,MVC是一种架构模式,当然不同的MVC存在差异。
Model(模型):数据模型,提供要展示的数据,因此包含数据和行为,可以认为是领域模型或者JavaBean的组件(包含数据和行为),不过现在一般都分离开来:Value Object(数据Dao) 和服务层(Service),也就是模型提供了模型数据查询和模型数据的状态更新等功能,包括数据和业务。
View(视图):负责进行模型的展示,一般就是我们见到的用户界面,客户想要看到的东西。
Controller(控制器):接受用户的请求,委托给模型进行处理(状态改变),处理完毕后把返回的数据返回给视图,由视图负责展示,也就是说控制器做了个调度员的工作。
1.工作流程
常用注解
@RequestMapping
Spring MVC通过@RequestMapping注解把URL请求和业务方法进行映射,在控制器的类定义处以及方法定义处都可以添加@RequestMapping,在类定义处添加相当于多了一层访问路径
method:指定请求的method类型,包括GET、POST、PUT、DELETE等
Spring MVC数据绑定
JSP页面的转发和重定向
Spring MVC默认是通过转发的形式响应JSP,可以手动进行修改
设置重定向的时候不能写逻辑视图,必须写明资源的物理路径,比如"rediect:/hello01.jsp"
Spring MVC视图层解析
1.Map
Spring MVC在调用业务方法之前会先创建一个隐含对象作为业务数据的存储容器,设置业务方法的入参为Map类型,Spring MVC会把隐含对象的引用传递给入参
2.Model
Model和Map类似,业务方法通过入参来完成业务数据的绑定
3.ModelAndView
和Map,Model不同的是,ModelAndView不仅包含业务数据,同时也封装了视图信息,如果使用ModelAndView来处理业务数据,业务方法的返回值必须是ModelAndView对象
4.HttpServletRequest
文件的上传下载
用时间戳接收 截取后缀
拦截器
直接提交过后就会被拦截需要进行验证
拦截过滤