SpringMVC框架(2)

目录

SpringMVC的好处

SpringMVC入门

SpringMVC的执行过程

SpringMVC架构

SpringMVC的架构

SpringMVC与Mybatis整合

参数绑定


学习过的mvc框架:Struts2

springMVC就是类似于Struts2的mvc框架,属于SpringFrameWork的后续产品。

 

SpringMVC的好处

 

SpringMVC入门

1.自己使用的开发环境

Jdkjdk1.7

Eclipsemars

Tomcatapache-tomcat-7

spring4.2.4

 

2.开发步骤

(1)创建Dynamic web项目,01-springmvc

(2)导入SpringMVC独立运行的jar包(和Spring的基本相同,多了一个webmvc)

3.编写TestController类

注意:这里是使用注解,@RequestMapping("hello")里面参数要与你地址栏上面的所写的地址相同,例如hello.action
mav.addObject("msg", "hello springmvc...");表示的意思就是讲后面的数据封装到名字为msg中,

                                                                     并在页面中使用el表达式进行接收
mav.setViewName("/WEB-INF/jsp/hello.jsp");表示的是将显示哪个界面,并将数据进行传递

 

4.创建hello.jsp页面

 

5.创建与配置springmvc.xml核心配置文件

这里配置扫描包是为了注解能生效

 

6.在web.xml中配置前端控制器

 

7.通过项目启动

 

SpringMVC的执行过程

从图中可以看出,一开始请求先经过拦截的url-pattern中,然后经过了核心控制器(前端控制器),然后初始化配置文件,通过配置文件springmvc.xml中的扫描包找到了包下的类,通过配置的注解找到了所在的类,通过RequestMapping找到了要执行的方法为hello,执行方法后将结果响应给用户

注意:我们如果请求中写入的是hello.action,那么就会调用@RequestMapping(“hello”)的方法,如果是hello1.action,那么就会调用@RequestMapping(“hello1”)中的方法,@RequestMapping(“hello”)和方法名不一定要相同,只是为了方便开发,所以最好写相同。

 

案例:书写一个商城显示的例子

实体类

书写controller

 

jsp

 

在页面的显示

 

 

SpringMVC架构

框架默认加载组件

 

1.处理器映射器

从spring3.1版本开始,废除了DefaultAnnotationHandlerMapping的使用,推荐使用RequestMappingHandlerMapping完成注解式处理器映射。

2.处理器适配器

从spring3.1版本开始,废除了AnnotationMethodHandlerAdapter的使用,推荐使用RequestMappingHandlerAdapter完成注解式处理器适配。

注意:映射器与适配器必需配套使用,如果映射器使用了推荐的RequestMappingHandlerMapping,适配器也必需使用推荐的RequestMappingHandlerAdapter。

 

3.我们可以使用注解驱动来代替映射器和适配器的使用(推荐)

 

4.配置视图解析器

 

配置了视图解析器前缀和后缀后在setViewName就可以不用写那么长的一段路径了,直接写itemList

 

 

 

 

SpringMVC的架构

从图中我们可以看出SpringMVC的执行流程为:

1.用户发起请求到前端控制器

2.前端控制器将请求发送给处理器映射器并返回相应的处理器执行链

3.前端控制器调用处理器适配器并调用其Handler方法,返回ModelAndView给前端控制器

4.前端控制器请求解析视图,由视图解析器返回view对象回前端控制器

5.通过渲染视图并响应给用户

 

 

 

SpringMVC与Mybatis整合

思路:

 

 

参数绑定

1.默认支持的参数类型

基于完成需求:点击修改商品时,打开商品编辑页面,展示商品信息

 

2.绑定简单参数

 

3.绑定pojo对象

要点:表单提交的name属性必需与pojo的属性名称一致。

 

4.绑定包装的pojo

要点:通过点(.)传递属性。

 

pojo:

 

controller代码:

 

 

jsp修改:

 

注意:解决post乱码问题

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值