SSM框架整合案例_Nine_xu的博客-程序员秘密

技术标签: JAVA  

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使用

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/lameraaa/article/details/104153968

智能推荐

React18 新特性前瞻_Monkey_Kcode的博客-程序员资料

Automatic batching 自动批处理Suspense & SuspenseListuseDeferredValuestartTransition & useTransitionstartTransition 与 useDeferredValue 的区别

NS3基本知识_tttabcgy的博客-程序员资料

转载自http://blog.sina.com.cn/s/blog_61e2420a0101jy5j.html3 NS3快速入门本章节通过阅读分析一个例子程序(first.cc)的源代码,并通过运行该例子程序,快速理解ns3中的几个概念。3.1 NS3中的几个关键概念3.1.1 节点Node在网络术语中,任何一台连接到网络的计算设备被称为主机,亦称为终端。NS3是一个网络模拟器

pandas常用操作_桥豆麻袋XQXQXQ的博客-程序员资料

python 数据分析学习笔记(二)基于pandas的数据清洗和数据操作1.处理丢失数据丢失数据类型:nonenp.nan(NaN)type(None) ##对象类型不可以参与运算type(np.nan) #浮点型数据可以参与计算在pandas中如果遇到None形式的空值,则pandas会自动转化成Nan形式处理空值的方法isnull+anynotnull+alldata=DataFrame(data=np.random.randint(1,100,size=(7,5))

HttpClient访问https,设置忽略SSL证书验证_衣兜里的博客-程序员资料_httpclient 忽略ssl

报错:sun.security.validator.ValidatorException:PKIXpathbuildingfailed:sun.security.provider.certpath.SunCertPathBuilderException:unabletofindvalidcertificationpathtorequestedtargetimport java.security.cert.CertificateException;import java...

浅谈两轮平衡车的控制原理(续)_吾理小子的博客-程序员资料_两轮平衡车控制原理

前言:上次云里雾里的说了一通,不知道对平衡车的控制有没有说到点子上。单纯的讲解原理可能会很无聊,但是作为一个技术宅来说,就算头皮发麻也要接着看下去。哈哈,吾理小子争取用通俗的语言把自己懂的知识讲解出来。好了,闲话少说,进入正题。上文已经做好了平衡车站立起来的全部准备工作,接下来就是控制的核心了,如果对上面讲到的内容还没有看到,建议先看上一篇,否则会有莫名其妙的感觉。首先,说说陀螺仪的安装位...

springcloud——hystrix图形化dashboard服务监控_weixin_43925059的博客-程序员资料

监控模块与被监控服务必须添加的图形化依赖: &lt;!--springboot框架web项目起步依赖--&gt; &lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;artifactId&gt;spring-boot-starter-web&lt;/artifactId&gt; &lt;/dependency&gt;

随便推点

java中用jedis报错_使用Jedis在高并发报错 (java.net.SocketException: Connection reset by peer: socket write error)..._袁均林的博客-程序员资料

使用Jedis在高并发报错 (java.net.SocketException: Connection reset by peer: socket write error)1.报错信息java.lang.reflect.InvocationTargetException: nullat sun.reflect.GeneratedMethodAccessor15.invoke(Unknown Sou...

【DSP】TMS320F28035 IQmath配置_Kindavid的博客-程序员资料

添加.lib和.h文件到工程修改cmd文件:将IQmath.cmd里的段写进原cmd文件里,提示内存不够的话,需要将内存进行响应调整。

ViewModel-Flow-LiveData,我们还是好朋友_eclipse_xu的博客-程序员资料

点击上方蓝字关注我,知识会给你力量在Android应用程序中加载UI数据可能是一个挑战。各种屏幕的生命周期需要被考虑在内,还有配置的变化导致Activity的破坏和重新创建。当用户在一个应...

c#里获取checkboxlist所有选中项【原创】_宝莲灯Joey的博客-程序员资料_c#怎么获取checkboxlist

这两天终于有个在线survey的应用需求了,终于,可以有个正式的机会完整地好好地接触和考虑survey应用中所需要涉及到的方方面面的编程需要了。先说个多选框。public static string GetChecked(CheckBoxList checklist) { string result=""; for (int i = 0; i

How to Install and Configure VNC on Ubuntu 14.04_weixin_34268753的博客-程序员资料

为什么80%的码农都做不了架构师?&gt;&gt;&gt; ...

推荐文章

热门文章

相关标签