Springmvc04

Springmvc的全局异常处理  springmvc与spring的整合  myBatis

1、Springmvc的全局异常处理

作用:一次配置,对于controller层的所有方法的该类型异常有起作用

  1、基于注解的全局异常

    具体实现:

    1、在类上加@controllerAdvice  2、在方法上加@ExceptionHandler注解

    3、在springmvc.xml文件中配置mvc:annotation-driven

  2、基于xml配置的全局异常处理

    在springmvc.xml文件中配置一个SimpleMappingException

2、Springmvc与spring的整合

 作用:整合之后希望springmvc管理controller层,让spring管理service层和dao层

  具体步骤:

  1、导入架包,并在web.xml文件中配置spring的ContextLoaderLister和Springmvc的前段控制器和两个filter

  2、创建Springmvc.xml,并配置

  3、创建applicationContext.xml,并配置

  4、写三层代码

  扫描包说明:让springmvc扫描控制层,spring扫描service层和dao层

  第一种解决方法: 

  Springmvc.xml  扫描 <context:component-scan base-package="com.offcn.controller"/>

  Beans.xml <context:component-scan base-package="com.offcn.service,com.offcn.dao"/>

  第二种解决方方法

  Springmvc.xml

   <context:component-scan base-package="com.offcn" use-default-filters="false">

  <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>

  <context:include-filter type="annotation"       expression="org.springframework.web.bind.annotation.ControllerAdvice"/>

  </context:component-scan>

  Beans.xml

   <context:component-scan base-package="com.offcn">

    <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>

   <context:exclude-filter type="annotation"   expression="org.springframework.web.bind.annotation.ControllerAdvice"/>

   </context:component-scan>

Springmvc的spring容器的关系

  spring容器和springmvc容器是父子关系

  spring容器是父容器,springmvc是子容器

  子容器中的对象d使用父容器中的对象,但父容器对象不能使用子容器的对象

get请求转换delete请求方法:

  借助js和一个空白的form表单

  <a id="del_${book.id }" href="${pageContext.request.contextPath }/book/del/${book.id}">删除</a>|

  

  $(function() {
  $("a[id ^= del]").click(function() {
  var href = $(this).attr("href");
  $("#form12").attr("action",href).submit();
  return false;
  });

  <form id="form12" action="" method="post">
  <input type="hidden" name="_method" value="delete">
  </form>

MyBatis:

  MyBatis入门

  MyBatis是由lbatis发展而来的

  官网:https://github.com/mybatis/mybatis-3

  MyBatis在软件三层所在位置:dao层

**MyBatis相对于原生jdbc、JdbcTemplate、Hibernate的优势:

  1、MyBatis本身是一个框架,除了可以对数据表中的数据进行曾删改查之外,还有缓存,字段映射等机制

  2、MyBatis支持动态SQL(根据传过来的参数不同,拼接不同的SQL语句)

  3、MyBatis支持将java代码和SQL语句分离

  4、MyBatis支持将表的关联关系直接映射为pojo对象的关联关系

  5、MyBatis是一个半自动化【手写SQL】的ORM框架

使用流程简介:

  1、导入jar包:MyBatis驱动包、MyBatis.jar

  2、创建MyBatis的全局配置文件:mybatis-config.xml,每个项目只能有一个mybatis的全局配置文件

    作用:1、配置数据库连接信息

        2、加载SQL映射文件

  3、创建MyBatis的sql映射文件,每个项目可以由多个sql映射文件

    作用:对数据表的增删改查语句都写在这里

  4、写测试代码

    4.1、根据xml构建sqlSessionFactory对象

    4.2、通过SQLSessionFactory对象的openSession方法得到sqlsession对象

    4.3、通过SQLSession对象执行SQL语句

    4.4、关闭sqlSession对象

java初学者的Springmvc04笔记的更多相关文章

  1. Java初学者笔记

    Java初学者笔记 前提:认识汉字,认识英语单词,会用键盘打字 ------------------------------- 端口是什么: --------面向对象编程(OOP) 接口”(Inter ...

  2. Java编程思想重点笔记(Java开发必看)

    Java编程思想重点笔记(Java开发必看)   Java编程思想,Java学习必读经典,不管是初学者还是大牛都值得一读,这里总结书中的重点知识,这些知识不仅经常出现在各大知名公司的笔试面试过程中,而 ...

  3. Java初学者最佳的学习方法以及会遇到的坑(内含学习资料)!

    最近系统整理了一套java初学者最佳的学习方法以及会遇到的坑等,希望对你有所帮助. 目录: 一.学习java的前提 二.学习java的方法 三.学习java时的坑 四.学习java的路线(画重点) 一 ...

  4. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

  5. 一位资深程序员大牛给予Java初学者的学习路线建议

    java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈 ...

  6. 对Java初学者的忠告

    1) 适合自己的图书才是最好的,最好的书并不一定适合你,看自己的情况. 如果你是一个Java初学者一上手就捧一本Thinking in Java在手里,我想你的日子是不会好过的,那样的书给有一定基础的 ...

  7. 给JAVA初学者的50个忠告

    摘自: http://wenku.baidu.com/link?url=p5vDKt5bKzUXxG_hAsB9XopHJRROeovOGGh4jnXGZXiUedR-fNOLO7zb6ddENo5U ...

  8. java 初学者需注意问题

    1.Java为什么能跨平台运行? Java语言编写的程序既是编译型的,又是解释型的.程序代码经过编译之后转换为一种Java字节码的中间语言,Java虚拟机即JVM将对字节码进行解释和运行.编译只进行一 ...

  9. Java性能调优笔记

    Java性能调优笔记 调优步骤:衡量系统现状.设定调优目标.寻找性能瓶颈.性能调优.衡量是否到达目标(如果未到达目标,需重新寻找性能瓶颈).性能调优结束. 寻找性能瓶颈 性能瓶颈的表象:资源消耗过多. ...

随机推荐

  1. 字体Lucida Console

    曾经有个段子说的是,一眼能认出黑客的原因就是因为对方在使用黑屏荧光字加Lucida Console其实这正说明了Lucida Console在终端使用的受欢迎程度.Lucida Console也是英文 ...

  2. RTX系统整合记录

    1.切换数据库RTX常见问题解答五. SQL数据库配置 2.同步系统组织机构 部门同步 用户同步https://blog.csdn.net/qq_21703215/article/details/80 ...

  3. 连接Xshell

    连xshell之前先进入[root@localhost zxj]# vim /etc/ssh/sshd_config, 将115行删除注释改为UseDNS  no, 保存重启sshd(xshell)的 ...

  4. Kafka sender消息生产者

    1.pom文件引入Kafka依赖(我用的版本是2.2.2.RELEASE) <dependency> <groupId>org.springframework.kafka< ...

  5. P1706 【全排列问题】

    超级无敌大题面~~ 这题倒也花了我不少时间,不停想节省空间,但这也确实是最省的了... 主要思路呢,要注意标记数有没有选过,并标记每个数的输出顺序.. 具体注释见代码: #include<cst ...

  6. USACO1.6 Healthy Holsteins【dfs/bfs 爆搜】

    题目传送门 饲料种数只有15 枚举每种选或不选一共也就只有$2^{15}=32768$ 爆搜可过觉得bfs要快一些? 但是dfs更方便处理字典序 只需要顺序遍历并且先搞选它的情况就可以了 而且在这种规 ...

  7. 【机器学习】HK算法(LMSE算法) LMS算法改进保证线性可分时均方误差标准能够找到线性可分的超平面

    1.其实HK算法思想很朴实,就是在最小均方误差准则下求得权矢量. 他相对于感知器算法的优点在于,他适用于线性可分和非线性可分得情况,对于线性可分的情况,给出最优权矢量,对于非线性可分得情况,能够判别出 ...

  8. python 生成器、三元表达式、列表推倒式、字典生成式、生成器表达式(总结)

    1.生成器 def func(): yield g = func() next(g) x = yield 2.三元表达式 res = x if 条件 else y 3.列表推导式,字典生成式,生成器表 ...

  9. excel常用公式--计算统计类

    Count/Countif/Countifs:条件计数. 注:count只能对数值进行统计 sum/sumif/sumifs:条件求和.   Average/Averageifs:  返回参数的平均值 ...

  10. 解决 Illegal DefaultValue null for parameter type integer 异常

    该异常是由 swagger 引起的 swagger 版本 1.9.2 解决原因:重新导入 swagger-annotations 和 swagger-models 版本 为 1.5.21 pom.xm ...