1、什么是springMVC
springmvc是spring公司出品的一个表现层框架
2、springMvc的作用
A、从请求中接收参数
B、将处理好的数据返回给页面
3、怎么用
springMvc处理流程
需要程序员编写的组件:处理器(也就是controller),试图(相当于jsp)
注解驱动和注解扫描是否都需要配置,为什么,区别是什么?
注解驱动:是为我们自动配置最新版的注解形式的处理器映射器和处理器适配器
注解扫描:扫描指定包下游@controller注解的类
两个东西不是一回事,不能混淆视听
5、架构整合思路
Dao层:
映射文件。接口文件,pojo使用逆向工程自动生成
sqlMapConfig.xml mybatis核心配置文件中可以为空,但是必须有
ApplicationContext-dao.xml 数据源,连接池,会话工厂,mapper包扫描
Service层:
ApplicationContext-service.xml 配置@service注解扫描
ApplicationContext-trans.xml配置事务
Controller层:
sprinMvc.xml 注解扫描,注解驱动,试图解析器
Web.xml
6、参数绑定:(从页面中接收参数)
A、默认支持的类型:HttpServletRequest,HttpServletResponse,HttpSession,model,默认支持的参数可以加也可以不加,加不加看自己需求,需要就加,不需要就不加
要求:接收变量名称必须等于页面上input框的name属性值,springmvc会自动进行类型转换
C、pojo类型
要求:页面上input框的name属性值必须等于pojo中德属性名称
要求:如果传入的queryVo,那么页面上input框的name属性必须等于vo中的属性.属性.属性......E、自定义转换器converter:
7、springMvc和struts2的区别
Struts2:
A、struts2的核心控制器是filter
SpringMvc:
A、spring的核心控制器是servlet
B、接收参数:springMvc采用方法级别的局部变量来接收参数,局部变量用完就销毁,线程是安全的,所以spring的controller是单例的
C、返回值:springMvc使用request域
8、springMvc中对图片上传有接口的支持, 但是没有实现,所以需要第三方实现.
9、 json数据交互:
作用: 让springMvc自动将接收的json格式字符串转换成pojo对象,将pojo对象自动转换成json串返回给页面
springMvc中对json的支持有接口但是无实现, 所以需要第三方实现, 杰克逊的jar包,在开发中springMvc.xml配置注解驱动, 那么这样springMvc就跟杰克逊的jar包完美集成不用任何配置.
springmvc是spring公司出品的一个表现层框架
2、springMvc的作用
A、从请求中接收参数
B、将处理好的数据返回给页面
3、怎么用
springMvc处理流程
1).spring mvc将所有的请求都提交给DispatcherServlet。
2).DispatcherServlet查询一个或多个HandlerMapping,找到处理请求的Controller,请求提交到目标Controller
3).Controller进行业务逻辑处理后,会返回一个ModelAndView
4、SpringMvc的三大组件:处理器映射器,处理器适配器,试图解析器
需要程序员编写的组件:处理器(也就是controller),试图(相当于jsp)
注解驱动和注解扫描是否都需要配置,为什么,区别是什么?
注解驱动:是为我们自动配置最新版的注解形式的处理器映射器和处理器适配器
注解扫描:扫描指定包下游@controller注解的类
两个东西不是一回事,不能混淆视听
5、架构整合思路
Dao层:
映射文件。接口文件,pojo使用逆向工程自动生成
sqlMapConfig.xml mybatis核心配置文件中可以为空,但是必须有
ApplicationContext-dao.xml 数据源,连接池,会话工厂,mapper包扫描
Service层:
ApplicationContext-service.xml 配置@service注解扫描
ApplicationContext-trans.xml配置事务
Controller层:
sprinMvc.xml 注解扫描,注解驱动,试图解析器
Web.xml
Spring监听,springMvc前端控制器
6、参数绑定:(从页面中接收参数)
A、默认支持的类型:HttpServletRequest,HttpServletResponse,HttpSession,model,默认支持的参数可以加也可以不加,加不加看自己需求,需要就加,不需要就不加
B、简单类型:string,double,integer,long,Boolean等
要求:接收变量名称必须等于页面上input框的name属性值,springmvc会自动进行类型转换
C、pojo类型
要求:页面上input框的name属性值必须等于pojo中德属性名称
D、pojo的包装类型QueryVo;
要求:如果传入的queryVo,那么页面上input框的name属性必须等于vo中的属性.属性.属性......E、自定义转换器converter:
作用:springMvc可以进行简单类型的自动类型转换,但是无法转换日期类型,所以需要手动编写转换器来进行类型转换。
7、springMvc和struts2的区别
Struts2:
A、struts2的核心控制器是filter
B、接收参数:struts2使用全局类型的成员变量来接收参数,由于全局类型的成员变量是线程不安全的,所以struts2的action需要配置成多例
C、返回数据:struts2使用值栈SpringMvc:
A、spring的核心控制器是servlet
B、接收参数:springMvc采用方法级别的局部变量来接收参数,局部变量用完就销毁,线程是安全的,所以spring的controller是单例的
C、返回值:springMvc使用request域
8、springMvc中对图片上传有接口的支持, 但是没有实现,所以需要第三方实现.
9、 json数据交互:
作用: 让springMvc自动将接收的json格式字符串转换成pojo对象,将pojo对象自动转换成json串返回给页面
springMvc中对json的支持有接口但是无实现, 所以需要第三方实现, 杰克逊的jar包,在开发中springMvc.xml配置注解驱动, 那么这样springMvc就跟杰克逊的jar包完美集成不用任何配置.