java初学者的Springmvc04笔记
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笔记的更多相关文章
- Java初学者笔记
Java初学者笔记 前提:认识汉字,认识英语单词,会用键盘打字 ------------------------------- 端口是什么: --------面向对象编程(OOP) 接口”(Inter ...
- Java编程思想重点笔记(Java开发必看)
Java编程思想重点笔记(Java开发必看) Java编程思想,Java学习必读经典,不管是初学者还是大牛都值得一读,这里总结书中的重点知识,这些知识不仅经常出现在各大知名公司的笔试面试过程中,而 ...
- Java初学者最佳的学习方法以及会遇到的坑(内含学习资料)!
最近系统整理了一套java初学者最佳的学习方法以及会遇到的坑等,希望对你有所帮助. 目录: 一.学习java的前提 二.学习java的方法 三.学习java时的坑 四.学习java的路线(画重点) 一 ...
- JAVA GUI编程学习笔记目录
2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...
- 一位资深程序员大牛给予Java初学者的学习路线建议
java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈 ...
- 对Java初学者的忠告
1) 适合自己的图书才是最好的,最好的书并不一定适合你,看自己的情况. 如果你是一个Java初学者一上手就捧一本Thinking in Java在手里,我想你的日子是不会好过的,那样的书给有一定基础的 ...
- 给JAVA初学者的50个忠告
摘自: http://wenku.baidu.com/link?url=p5vDKt5bKzUXxG_hAsB9XopHJRROeovOGGh4jnXGZXiUedR-fNOLO7zb6ddENo5U ...
- java 初学者需注意问题
1.Java为什么能跨平台运行? Java语言编写的程序既是编译型的,又是解释型的.程序代码经过编译之后转换为一种Java字节码的中间语言,Java虚拟机即JVM将对字节码进行解释和运行.编译只进行一 ...
- Java性能调优笔记
Java性能调优笔记 调优步骤:衡量系统现状.设定调优目标.寻找性能瓶颈.性能调优.衡量是否到达目标(如果未到达目标,需重新寻找性能瓶颈).性能调优结束. 寻找性能瓶颈 性能瓶颈的表象:资源消耗过多. ...
随机推荐
- opensuse终端命令行安装编码解码器
1) 添加必需的软件源:zypper addrepo -f http://packman.inode.at/suse/openSUSE_Leap_15.1/ packmanzypper addrepo ...
- centos8飞行驾驶舱和docker安装
零.先解决cenos8的网络(systemctl restart network.service已被废弃) 1.# vim /etc/sysconfig/network-scripts/ifcfg-e ...
- 深入理解java:2.3.4. 并发编程concurrent包 之容器ConcurrentLinkedQueue(非阻塞的并发队列---循环CAS)
1. 引言 在并发编程中我们有时候需要使用线程安全的队列. 如果我们要实现一个线程安全的队列有两种实现方式:一种是使用阻塞算法,另一种是使用非阻塞算法. 使用阻塞算法的队列可以用一个锁(入队和出 ...
- jmeter-在beanshell里用代码提取参数
接口返回json(response_data): { "Code":1, "Message":null, "Error":null, &qu ...
- 红帽学习记录[RHCE] ISCSI远程块储存
目录 iSCSI 定义 组件术语 启动器 目标 ACL 发现 IQN 登录 LUN 节点 门户 TPG 搭建一个iSCSI服务 提供一个iSCSI目标 配置iSCSI客户端 iSCSI 定义 SCSI ...
- [转帖]SUN/Oracle JDK还是OpenJDK?
你安装的是 https://www.cnblogs.com/shoufeng/p/9719995.html 目录 1 如何查看你安装的JDK版本 1.1 要用到的命令行工具 1.2 查看JDK的版本 ...
- [转帖]2016年的文章: 解读ASP.NET 5 & MVC6系列教程(1):ASP.NET 5简介
解读ASP.NET 5 & MVC6系列教程(1):ASP.NET 5简介 更新时间:2016年06月23日 11:38:00 作者:汤姆大叔 我要评论 https://www.jb ...
- c#中抽象类和接口的相同点跟区别
下面是自己写的一个demo,体现抽象类和接口的用法. using System; using System.Collections.Generic; using System.Linq; using ...
- springcloud用法
springcloud用法 使用springcloud搭建微服务肯定要在父工程下面编写子工程 一.搭建eureka注册中心 1. 创建maven项目(在springboot项目下建立子工程eur ...
- [codeforces1234F]Yet Another Substring Reverse
题目链接 大致题意为将某个子串进行翻转后,使得不包含相同字符的字符子串长度最长.只能翻转一次或零次. 设一个子串的状态为包含字符的二进制.如子串为$abacd$,则状态为$00000000000000 ...