Day1

1. springMvc:是一个表现层框架:
  作用:就是从请求中接收传入的参数,
  将处理后的结果数据返回给页面展示
2. ssm整合:
  1)Dao层
    pojo和映射文件以及接口手动编写(或使用逆向工程生成)
    SqlMapConfig.xml mybatis核心配置文件
    ApplicationContext-dao.xml 整合后spring在dao层的配置
    数据源
    会话工厂
    扫描Mapper
  2)service层
    事务 ApplicationContext-trans.xml
    @Service注解扫描 ApplicationContext-service.xml
  3)controller层
    SpringMvc.xml
    注解扫描:扫描@Controller注解
    注解驱动:替我们显示的配置了最新版的处理器映射器和处理器适配器
    视图解析器:显示的配置是为了在controller中不用每个方法都写页面的全路径
  4)web.xml
    springMvc前端控制器配置
    spring监听

☆3.参数绑定(从请求中接收参数)
  1)默认类型:
    在controller方法中可以有也可以没有,看自己需求随意添加.
    httpservletRequest,httpServletResponse,httpSession,Model(ModelMap其实就是Mode的一个子类,一般用的不多)
  2)基本类型:string,double,float,integer,long.boolean
  3)pojo类型:页面上input框的name属性值必须要等于pojo的属性名称
  4)vo类型:页面上input框的name属性值必须要等于vo中的属性.属性.属性....
  5)自定义转换器converter:
    作用:由于springMvc无法将string自动转换成date所以需要自己手动编写类型转换器
    需要编写一个类实现Converter接口
    在springMvc.xml中配置自定义转换器
    在springMvc.xml中将自定义转换器配置到注解驱动上

   6)数组
  7)List

4.SpringMVC与Struts2的不同点

  1)springmvc的入口是一个servlet即前端控制器,而struts2入口是一个filter过虑器。

  2)springmvc是基于方法开发(一个url对应一个方法),请求参数传递到方法的形参,可以设计为单例或多例(建议单例),struts2是基于类开发,传递参数是通过类的属性,只能设计为多例。

  3)Struts采用值栈存储请求和响应的数据,通过OGNL存取数据, springmvc通过参数解析器是将request请求内容解析,并给方法形参赋值,将数据和视图封装成ModelAndView对象,最后又将ModelAndView中的模型数据通过reques域传输到页面。Jsp视图解析器默认使用jstl。

Day2 

☆1.参数绑定:(从请求中接收参数)
  1)默认支持的类型:Request,Response,Session,Model
  2)基本数据类型(包含String)
  3)Pojo类型
  4)Vo类型
  5)Converter自定义转换器
  6)数组
  7)List

☆2.controller方法返回值(指定返回到哪个页面, 指定返回到页面的数据)
  1)ModelAndView
    modelAndView.addObject("itemList", list); 指定返回页面的数据
    modelAndView.setViewName("itemList"); 指定返回的页面
  2)String(推荐使用)
    返回普通字符串,就是页面去掉扩展名的名称, 返回给页面数据通过Model来完成
    返回的字符串以forward:开头为请求转发
    返回的字符串以redirect:开头为重定向
  3)返回void(使用它破坏了springMvc的结构,所以不建议使用)
    可以使用request.setAttribut 来给页面返回数据
    可以使用request.getRequestDispatcher().forward()来指定返回的页面
    如果controller返回值为void则不走springMvc的组件,所以要写页面的完整路径名称

  相对路径:相对于当前目录,也就是在当前类的目录下,这时候可以使用相对路径跳转
  绝对路径:从项目名后开始.
  在springMvc中不管是forward还是redirect后面凡是以/开头的为绝对路径,不以/开头的为相对路径
  例如:forward:/items/itemEdit.action 为绝对路径
     forward:itemEdit.action为相对路径

3.架构级别异常处理:
  主要为了防止项目上线后给用户抛500等异常信息,所以需要在架构级别上整体处理.hold住异常
  首先自定义全局异常处理器实现HandlerExceptionResolver接口
  在spirngMvc.xml中配置生效
4.上传图片:
  1)在tomcat中配置虚拟图片服务器
  2)导入fileupload的jar包
  3)在springMvc.xml中配置上传组件
  4)在页面上编写上传域,更改form标签的类型
  5)在controller方法中可以使用MultiPartFile接口接收上传的图片
  6)将文件名保存到数据库,将图片保存到磁盘中
5.Json数据交互:
  需要加入jackson的jar包
  @Requestbody:将页面传到controller中的json格式字符串自动转换成java的pojo对象
  @ResponseBody:将java中pojo对象自动转换成json格式字符串返回给页面
6.RestFul支持:
  就是对url的命名标准,要求url中只有能名词,没有动词(不严格要求),但是要求url中不能用问号?传参
  传参数:
    页面:${pageContext.request.contextPath }/items/itemEdit/${item.id}
    方法: @RquestMapping("/itemEdit/{id}")
    方法: @PathVariable("id") Integer idd
7.拦截器:
  作用:拦截请求,一般做登录权限验证时用的比较多
    1)需要编写自定义拦截器类,实现HandlerInterceptor接口
    2)在spirngMvc.xml中配置拦截器生效

8.登录权限验证:
  1)编写登录的controller, 编写跳转到登录页面的方法, 编写登录验证方法
  2)编写登录页面
  3)编写拦截器
  ☆运行过程:
    1)访问随意一个页面,拦截器会拦截请求,会验证session中是否有登录信息
      如果已登录,放行
      如果未登录,跳转到登录页面
    2)在登录页面中输入用户名,密码,点击登录按钮,拦截器会拦截请求,如果是登录路径放行
      在controller方法中判断用户名密码是否正确,如果正确则将登录信息放入session

SpringMVC总结(SSM)的更多相关文章

  1. SpringMVC笔记——SSM框架搭建简单实例

    落叶枫桥 博客园 首页 新随笔 联系 订阅 管理 SpringMVC笔记——SSM框架搭建简单实例 简介 Spring+SpringMVC+MyBatis框架(SSM)是比较热门的中小型企业级项目开发 ...

  2. springmvc(二) ssm框架整合的各种配置

    ssm:springmvc.spring.mybatis这三个框架的整合,有耐心一步步走. --WH 一.SSM框架整合 1.1.整合思路 从底层整合起,也就是先整合mybatis与spring,然后 ...

  3. Spring+SpringMVC+Mybatis(SSM)框架集成搭建

    Spring+SpringMVC+Mybatis框架集成搭建教程 一.背景 最近有很多同学由于没有过SSM(Spring+SpringMvc+Mybatis , 以下简称SSM)框架的搭建的经历,所以 ...

  4. SpringMVC以及SSM整合

    本人才疏学浅,如有错误欢迎批评!转载请注明出处:https://www.cnblogs.com/lee-yangyaozi/p/11226145.html SpringMVC概述 Spring Web ...

  5. SpringMVC:ssm整合练习一

    西部开源-秦疆老师:MyBatis,Spring,SpringMVC 整合练习一 , 秦老师交流Q群号: 664386224 未授权禁止转载!编辑不易 , 转发请注明出处!防君子不防小人,共勉! ss ...

  6. spring+springmvc+mybatis(ssm)

    1.jdbc.properties jdbc.driverClassName=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/jk ...

  7. 阶段3 3.SpringMVC·_07.SSM整合案例_05.ssm整合之Spring整合SpringMVC的框架

    点击超连接,执行controller里面的方法 那么就需要在Controller里面定义Service对象,就需要依赖注入进来. 启动tomcat服务器,web.xml里面的前端控制器会帮我加载spr ...

  8. 阶段3 3.SpringMVC·_07.SSM整合案例_04.ssm整合之编写SpringMVC框架

    搭建SpringMvc的环境, 首先是提供前端控制器 再配置serletMapping 加载Springmvc.xml的配置文件, 使用init-param里面有个属性contextConfigLoc ...

  9. 阶段3 3.SpringMVC·_07.SSM整合案例_03ssm整合之编写Spring框架

    做整合要保证每个框架单独使用 先搭建Spring的框架,然后再整合别的框架.Spring是业务层的框架 spring的配置文件 这就表示是spring的配置文件 默认的约束不够,需要修改. <b ...

随机推荐

  1. 小技巧-ASP.Net session保存在数据库服务器

    引用博客:http://www.cnblogs.com/lykbk/archive/2013/01/13/hf576856868.html web Form 网页是基于HTTP的,它们没有状态, 这意 ...

  2. scrapy分布式的几个重点问题

    我们之前的爬虫都是在同一台机器运行的,叫做单机爬虫.scrapy的经典架构图也是描述的单机架构.那么分布式爬虫架构实际上就是:由一台主机维护所有的爬取队列,每台从机的sheduler共享该队列,协同存 ...

  3. iOS 私有API调用

    最近自己在做一个小程序,想实现一个一键设置手机壁纸的功能.但在iOS公开的API里找不到相关的方法,只能从私有API入手. 网上有不少教程,不过都不是很详细.从google和https://stack ...

  4. 10_Python函数方法加深_Python编程之路

    上节课已经简单的跟大家讲了如何定义一个方法,但是并没有深入去讲,这一节我们继续来学习定义方法中需要注意的几点 默认参数 前面我们讲到定义一个方法时是可以传递参数的,除了这个功能,实际上python在定 ...

  5. [python]使用django快速生成自己的博客小站,含详细部署方法

    前言 人生苦短,我用python 这是之前经常听到的一句笑谈.因为新公司很多业务是用的python语言,所以这几天也一直在学习python的一些东西. 作为一个之前一直java后端的开发人员,对比ja ...

  6. Java爬虫原理分析

    当我们需要从网络上获取资源的时候,我们一般的做法就是通过浏览器打开某个网站,然后将我们需要的东西下载或者保存下来. 但是,当我们需要大量下载的时候,这个时候通过人工一个个的去点击下载,就显得太没有效率 ...

  7. Java集合详解二

    前一篇我们已经讲过了Collectin是存放单值的最大接口, 可以看到Map接口和其主要之类的关系图如下: 快速访问 HashMap    HashTable  TreeMap  Map输出 那Map ...

  8. [USACO 09FEB]Fair Shuttle

    Description 逛逛集市,兑兑奖品,看看节目对农夫约翰来说不算什么,可是他的奶牛们非常缺乏锻炼——如果要逛完一整天的集市,他们一定会筋疲力尽的.所以为了让 奶牛们也能愉快地逛集市,约翰准备让奶 ...

  9. bzoj4919 [Lydsy1706月赛]大根堆

    Description 给定一棵n个节点的有根树,编号依次为1到n,其中1号点为根节点.每个点有一个权值v_i. 你需要将这棵树转化成一个大根堆.确切地说,你需要选择尽可能多的节点,满足大根堆的性质: ...

  10. 17.10.28&29

    28上午 骚猪选讲 28下午 BOZJ 1081 [SCOI2005]超级格雷码 感觉就是一个找规律,然后模拟输出.半天没找到一个比较简便的模拟方法,这份代码是学习网上一位大佬的,很巧妙. 代码: # ...