导入教程的项目,通过查看源码对aop面向切面编程进行理解分析
aop面向编程就像是我们给程序某些位置丢下锚点(切入点)以及当走到锚点时需要调用的方法(切面)。在程序运行的过程中, 一旦到达锚点,相应的方法就会被调用,以供我们对程序进行追踪,看看走到了哪一步以及具体信息,便于我们对程序进行调试维护。
我们随意对切面进行一些输出修改,同样可以运行。实际操作中你可以对切面进行你想要的功能书写
SSM框架练习
首先必须明确ssm框架中各部分的作用:
1. Spring框架:负责管理和维护应用程序中的Bean,实现控制反转(IoC)和依赖注入(DI)的功能,提供事务管理等功能。简单地说就是对象创建。
2. SpringMVC框架:负责处理应用程序中的Web请求和响应,包括处理请求参数、请求路径映射、视图解析等。简单来说就是负责控制方法调用,页面跳转,参数传递。
3. MyBatis框架:负责数据库操作,将Java对象和SQL语句映射起来,实现ORM功能,并提供动态SQL的功能。
明确概念之后导入教程项目:
运行之后没问题,那么我们就开始增加功能的操作。
1、分页
创建页面类来方便进行分页操作,需要的变量有start 、last、count,这样对应sql就是从start处开始往后查询count个结果。
2、修改xml文件
3、在接口中增加两种抽象方法,total()用于查询表中所有数据数、带参数的list用于实现分页效果
4、为service添加方法
5、在接口实现类中实现新加方法
6、编写控制器类,在控制器中完成page类的参数传递
7、修改jsp类,接收参数的同时,每次翻页都要相应的更新start。导项目可能会出现模板兼容问题,换一个对应的模板即可
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="java.util.*"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<div style="width:500px;margin:0px auto;text-align:center">
<table>
<tr>
<td>id</td>
<td>name</td>
</tr>
<c:forEach items="${cs}" var="c" varStatus="st">
<tr>
<td>${c.id}</td>
<td>${c.name}</td>
</tr>
</c:forEach>
</table>
<div style="text-align:center">
<a href="?start=0">首 页</a>
<a href="?start=${page.start-page.count}">上一页</a>
<a href="?start=${page.start+page.count}">下一页</a>
<a href="?start=${page.last}">末 页</a>
</div>
</div>
运行没问题