SSM框架整合案例

1、数据库与表结构

总共4张表:
product(产品表)
order(订单表)
member(会员信息表)
traveller(旅客信息表)
在这里插入图片描述

2、创建Maven工程,导入依赖

--------------------start
编辑pom文件中,发现:
问题:报错Missing artifact com.oracle:ojdbc14:jar:11.2.0.4.0
--------------------ok end

3、编写实体类、持久层接口、业务层接口

4、Spring环境搭建

在子模块ssm_web的resources目录下,编写applicationContext.xml
首先配置Spring,告知Spring创建容器时需要扫描的包
--------------------start
问题:<context:component-scan base-package=“cn.ziwei.service
这里报错:Cannot resolve package service ziwei. Spring XML model validation
原因: 因为没有导包
--------------------ok end

5、SpringMVC环境搭建

首先配置web.xml

  • 配置前端控制器
    (配置初始化参数,用于读取 springmvc 的配置文件)
    (启动服务器就创建该servlet)
  • 配置编码过滤器

其次配置SpringMVC.xml

6、编写Controller层

7、Spring和SpringMVC整合

在web.xml中配置监听器,原理见Spring整合SpringMVC

8、Spring与MyBatis整合

原理见Spring整合Mybatis

9、编写index.jsp页面和product-list.jsp页面

10、启动项目

问题1: [Error]Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile

==========================================================
=华丽的分割线===========

具体项目

1、完成 查询所有产品 操作

服务器启动后,跳转到index.jsp页面,点击超链接,查询所有产品
findAll------product-list.jsp
在这里插入图片描述

2、完成 订单查询 操作

2.1 查询
解决数据库字段名与实体类对应的属性名不一致
2.2 分页
PageHelper:Mybatis分页插件

3、完成 用户 操作

需要以下表,及其实现类

  • user表:用户信息表
  • role表:角色表
  • users_role表:用户与角色关联关系(用户与角色是多对多的关系)
  • permission表:资源权限表(包括id、权限名、权限路径)
  • role_permission表:权限资源与角色关联关系(多对多)

用户登陆
使用 Spring Security来进行认证授权

用户查询:页面user-list.jsp

用户添加:页面user-add.jsp
用户详情:页面user-show.jsp

4、完成 角色、资源权限 操作

角色查询:页面role-list.jsp
角色添加:页面role-add.jsp
角色详情:页面role-show.jsp
权限资源查询:页面permission-list.jsp
权限资源添加:页面permission-add.jsp

5、权限关联与控制

5.1 用户角色关联
用户与角色之间是多对多关系,我们要建立它们之间的关系,只需要在中间表user_role插入数据即可。

  • 思路:在user-list.jsp页面,点击添加角色,根据 /user/findUserByIdAndAllRole.do,到后台控制器执行操作(通过用户id查找未使用的角色),然后转到user-role-add.jsp页面,选择要添加的角色,点击保存,根据/user/addRoleToUser.do,到后台控制器执行操作,往user_role表中添加数据。软后重定向到findAll,返回到user-list页面。

5.2 角色权限关联
思路同上

6、 权限控制

7、AOP日志查询

JionPoint使用
request使用

是一个适合新手的比较好的例子, <!-- 自动扫描该包下面带有注解的类 --> <context:component-scan base-package="com.jxy.java.service" /> <!-- 导入数据库配置文件 --> <context:property-placeholder location="classpath:jdbc.properties"/> <!-- 配置数据库连接池 --> <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <!-- 基本属性 url、user、password --> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> <!-- 配置初始化大小、最小、最大 --> <property name="initialSize" value="1" /> <property name="minIdle" value="1" /> <property name="maxActive" value="20" /> <!-- 配置获取连接等待超时的时间 --> <property name="maxWait" value="60000" /> <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 --> <property name="timeBetweenEvictionRunsMillis" value="60000" /> <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 --> <property name="minEvictableIdleTimeMillis" value="300000" /> <property name="validationQuery" value="SELECT 'x'" /> <property name="testWhileIdle" value="true" /> <property name="testOnBorrow" value="false" /> <property name="testOnReturn" value="false" /> <!-- 打开PSCache,并且指定每个连接上PSCache的大小 --> <property name="poolPreparedStatements" value="true" /> <property name="maxPoolPreparedStatementPerConnectionSize" value="20" /> </bean>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值