Spring-MVC(1)

1.服务器端三层架构

表现层(SpringMVC),业务层(Spring),持久层(Mybatis)

2.MVC模型

Model(JavaBean对象),View(视图,JSP展示),Controller(控制器Servlet)

3.SpringMVC与Struts2框架区别

都是表现层框架,都是MVC模型,底层都是ServletAPI。

Struts2的核心控制器是Filter,SpringMVC核心控制器是Servlet。

SpringMVC基于方法单例,Struts基于类多例。MVC效率高点

Struts的OGNL表达式开发效率更高

4.SpringMVC流程:三大组件:HandlerMapping, HandlerAdapter, ViewResolver

Spring-MVC(1)_第1张图片

注解:

1.@RequestMapping

作用类:URL一级目录 ,需要以/开头

作用方法:二级目录

属性:

value和path:URL路径,两者效果一样

method:用于指定的请求方式  eg. method = {RequestMethod.POST, RequestMethod.GET}

params: 限制请求行中参数条件   eg. params ={"username"}必须要有username  ; params = {"username=hehe"}请求行中必须要有username=hehe;

headers:发送的请求中必须包含的请求头。

2.请求参数绑定

参数传入:直接在Controller方法中作为参数传入.  eg. public int test(String username, String password)

JavaBean传入:先创建util类,直接在Controller中传入该类. eg. public int test(User user). 会自动传入 

集合传入:P171

原生ServletAPI对象传入: public int test(HttpServletRequest req, HttpServletResponse res)

3.@RequestParams

如果jsp传入的是name不是username

4.@RequestBody

获取请求体,GET不适用,因为只有POST可用。获取请求体所有内容

5. @PathVarible

基于REST风格URL

Spring-MVC(1)_第2张图片

6.@CookieValue

7.@ModelAttribute

放在方法上:会先执行

8.@SessionAttribute

 

1.post请求的中文乱码问题:

在web.xml中配置filter标签

2.自定义类型转换器

eg. date类无法自动转换2010-11-11,只能自动转换2010/11/11。只能自定义类型转换器实现Converter接口并在xml配置

3.基于HiddentHttpMethodFilter的

 

 

 

你可能感兴趣的:(Spring-MVC(1))