1.spring整合mybatis
1 | 步骤: |
applicationContext.xml:
spring和mybatis整合在一起使用,事务是自动提交的。 无需执行SqlSession.commit();
1 |
|
使用:
1 | String config="applicationContext.xml"; |
1.spring事务:
1 | 使用@Transactional的步骤: |
==注意==:
transaction-manager:事务管理器的id
第二部开启事务注解驱动中,下面代码选择的类是:
http://www.springframework.org/schema/tx
1 | <tx:annotation-driven transaction-manager="transactionManager" /> |
使用:
1 | /** |
2.AspectJ事务
注意:tx:advice这里也需要用末尾是tx的类
1 |
|
3.监听器
web.xml:
1 | <!--注册监听器ContextLoaderListener |
二:SpringMVC
M: model(数据)
V: view
C:DispatcherServlet:(前端控制器)
Controller(后端控制器 back controller)
1.web.xml配置中央调度器
1 |
|
2.spring.xml
- 组件扫描器
- 视图解析器
1 |
|
1 | ** |
3.springMVC请求的流程
1.发起some。do
2.tomcat(根据web.xml的—url–pattern知道 *.do的请求给DispatcherServlet)
3.DispatcherServlet (根据springmvc。xml配置知道 some.do—dosome())
4.DispatcherServlet把some.do转发给MyController.dosome()方法
5.框架执行dosome()把得到ModeAndView进行处理,转发到show.jsp
4.中央调度器执行流程

5.RequestMapping指定方法
==注意==:value的参数必须带”/“ 比如”/some.do”
1 | //指定some.do只能使用get请求 |
1 | //指定other.do使用post方式 |
1 | //third.do不指定请求方式, 请求方式就没有限制 |
6.接收请求参数
1.请求头里面的参数
HttpServletRequest HttpServletResponse HttpSession
1 | public ModelAndView doThird(HttpServletRequest request, |
2.用户提交的数据
400状态码是客户端错误,表示提价请求参数过程中发生了问题
1.逐个接收
1 | /** |
2.参数名和形参名不一样
1 |
|
3.对象接收
1 | /** |
7.过滤器CharacterEncodingFilter
1 | <!--注册字符集的过滤器,解决post请求乱码的问题--> |
8.void返回json
1.加入依赖
1 | <dependency> |
2.引入jQurey库
1 | <script type="text/javascript" src="js/jquery-1.11.1-min.js"></script> |
3.使用
1 |
|
9.框架响应json
返回对象Object响应json:
步骤
==注意==: 注解驱动中mvc:annotation-driven使用的类是http://www.springframework.org/schema/mvc
1 | ch04-return:处理器方法的返回值 |
返回对象使用:
1 | /** |
返回list使用
1 | /** |
返回string
1 | /** |
10.静态资源访问
1.第一种
1 | 1. 加入注解驱动 |
2.第二种
1 | <!--第二种方式处理静态资源: 框架自己处理静态资源的请求,框架会创建处理器对象。 |
11.相对地址和绝对地址
- 在jsp, html种使用的地址,都是在前端页面中的地址,都是相对地址
地址分类
1.绝对地址: 带有协议名称的是绝对地址,例如: http://www.baidu.com
2.相对地址: 没有协议开头,例如 user/some.do 相对地址不能独立使用,必须有一个参考地址,通过参考地址,相对地址本身才能指定资源
3.参考地址:
在你的页面中,访问地址不加”/“
例如 user/some.do , 当你点击链接时,访问的地址是当前页面的地址加上链接的地址
http://localhost:8080/myWeb/ + user/some.do
解决方案:
1.加入${pageContext.request.contextPath}
2.加入一个base标签,是html语言中的标签,表示当前页面中访问地址的基地址
你的页面中所有没有”/“开头的地址,都是以base标签中的地址为参考地址
使用base中的地址+ user/some.do 组成访问地址
最常用的方案:
1 | <% |
在你的页面中,访问地址加上了”/“
参考地址是你的服务器地址,也就是 http://localhost:8080,当需要访问地址时,需要在jsp路径中加入项目的路径,这种比较麻烦,不可取,所以可以采用el表达式${pageContext.request.contextPath}
三:ssm整合开发
步骤
1 | ch10-ssm: SSM整合开发 |
1.转发和重定向
转发:
1 | 处理器方法返回ModelAndView,实现转发forward |
重定向:
1 | /** |
重定向到其他处理器:
1 | /** |
2.异常处理
注解驱动要加入mvc的类
1 | ch07-exception-handler:异常处理 |
3.拦截器
1 | 1.拦截器时spirngmvc中的一种,需要实现HandlerInterceptor接口 |
springmvc配置文件
1 | <!-- |
Myinterceptor三个方法:
1 | package com.bjpowernode.interceptor; |