Spring+SpringMVC+MyBatis+SpringSecurity+EhCache+JCaptcha 完整Web基础框架(前言)
简单介绍一下,本框架的基本功能点:
- Spring:整个框架的主体部分,这个自不用说。
- SpringMVC:MVC部分我还是比较喜欢Spring的。
- MyBatis:选型的时候选择这个ORM主要也是考虑其灵活性的问题,毕竟我也不知道,今后会遇到怎样的需求,用Hibernate一来是不太会用,二来,我还是比较喜欢直接写SQL来的简单一点。
- SpringSecurity:这个主要是安全框架,负责用户登录验证及整站权限分配的相关事项(权限分配真的很有用,这个我就不多说了)。
- EhCache:一个非常流行又非常简单好用的缓存框架,并且目前已经支持分布式,如果觉得不好用,自己换成Redis也都OK。
- JCaptcha:一个简单的验证码生成框架(或者说工具)。
- Log4J:现在没人不知道这个日志框架吧...
按照这样的选型,基本可以完成大部分网站的基础框架,如:
- 用户登录管理,
- 整站权限分配,
- 数据缓存,
- 登录验证码,
- 数据库操作,
- 统一异常处理,
- 日志输出。
网上找了很多文章,大部分都是只有部分整合的,比如SSH整合,SSM整合,SpringMVC+SpringSecurity,等等,东一块,西一块,非常分散,而且每个人的配置方式还不一样,不统一,有的人喜欢注解配置,有的人喜欢XML配置,有的文章甚至直接就是有东没西,神龙见首不见尾。看的我是很郁闷,很蛋疼,因为当我好不容易搭好一个SSM框架,我发现,我要管理用户登录及权限分配的时候,咦,我还得去配置Security,然后又要找很多文章来补充知识,配置Security的时候,又要找验证码的框架,都搞好了以后,发现诶,缓存这个东西不都是任何一个网站必备的吗?所以就有了现在这篇文章,花了好大得劲,终于把所有都整合起来了。
但是,本文章,不提供项目源码!
只有自己亲手走过一遍,才真正学得会知识。作为一个程序员,我相信这样才是对我们是最好的一个方式。所以不要索要源码,不会给的。 先给出整个项目的
<project xmlns= "http://maven.apache.org/POM/4.0.0" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation= "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" >
<modelVersion> 4.0 . 0 </modelVersion>
<groupId>com.magic.rent</groupId>
<artifactId>ssm</artifactId>
<packaging>war</packaging>
<version> 1.0 -SNAPSHOT</version>
<name>ssm Maven Webapp</name>
<url>http: //maven.apache.org</url>
<repositories>
<repository>
<id>atlassian</id>
<name>atlassian</name>
<url>http: //maven.jahia.org/maven2/</url>
</repository>
</repositories>
<build>
<finalName>ssm</finalName>
<plugins>
<!--Mybatis 逆向工程插件-->
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version> 1.3 . 2 </version>
<configuration>
<verbose> true </verbose>
<overwrite> true </overwrite>
</configuration>
</plugin>
</plugins>
</build>
<properties>
<security.version> 4.1 . 3 .RELEASE</security.version>
<spring.version> 4.3 . 3 .RELEASE</spring.version>
</properties>
<dependencies>
<!-- SpringFramework Start -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-oxm</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- SpringFramework End -->
<!--SpringSecurity Start-->
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-core</artifactId>
<version>${security.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>${security.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>${security.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-taglibs</artifactId>
<version>${security.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-crypto</artifactId>
<version>${security.version}</version>
</dependency>
<!--SpringSecurity End-->
<!--aspectj start-->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version> 1.8 . 6 </version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version> 1.8 . 6 </version>
</dependency>
<!--aspectj end-->
<!--c3p0-->
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version> 0.9 . 5.1 </version>
</dependency>
<!--servlet/jsp api start-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version> 2.5 </version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version> 2.1 </version>
<scope>provided</scope>
</dependency>
<!--servlet/jsp api end-->
<!--junit4-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version> 4.11 </version>
<scope>test</scope>
</dependency>
<!--Mybatis-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version> 3.3 . 0 </version>
</dependency>
<!--Mybatis Spring整合-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version> 1.2 . 3 </version>
</dependency>
<!--MySQL Driver-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version> 5.1 . 6 </version>
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version> 1.2 </version>
</dependency>
<!--JCaptcha验证码-->
<dependency>
<groupId>com.octo.captcha</groupId>
<artifactId>jcaptcha</artifactId>
<version> 1.0 </version>
</dependency>
<!--公共工具包-->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version> 3.4 </version>
</dependency>
<!--Ehcache缓存框架 start-->
<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache-core</artifactId>
<version> 2.6 . 11 </version>
</dependency>
<!--Mybatis-Ehcache整合包-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-ehcache</artifactId>
<version> 1.0 . 0 </version>
</dependency>
<!--Ehcache-Web页面及对象缓存-->
<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache-web</artifactId>
<version> 2.0 . 4 </version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version> 1.6 . 1 </version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version> 1.6 . 2 </version>
</dependency>
<!--Ehcache缓存框架 end-->
</dependencies>
</project>
|
转载于:https://www.cnblogs.com/mengyuxin/p/6950516.html
Spring+SpringMVC+MyBatis+SpringSecurity+EhCache+JCaptcha 完整Web基础框架(前言)相关推荐
- SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
登录 | 注册 收藏成功 确定 收藏失败,请重新收藏 确定 查看所有私信查看所有通知 暂没有新通知 想要绕过微信小程序开发中的坑吗?不妨来听这个,今晚8点,1小时帮你搞定! 14小时以前 CSDN日报 ...
- Spring+SpringMVC+MyBatis+Maven框架整合
本文记录了Spring+SpringMVC+MyBatis+Maven框架整合的记录,主要记录以下几点 一.Maven需要引入的jar包 二.Spring与SpringMVC的配置分离 三.Sp ...
- SSM三大框架整合(Spring+SpringMVC+MyBatis)
文章目录 SSM整合 一.导入依赖 1.1 Spring依赖 1.2 SpringMVC依赖 1.3 MyBatis依赖 二.配置文件 2.0 Web.xml 配置文件 2.1 Spring的配置文件 ...
- 基于Spring+SpringMVC+Mybatis分布式敏捷开发系统架构zhen项目
原项目链接:https://github.com/shuzheng/zheng 目前看过做完整的项目,大家一起学习一下,详情请点击原项目链接的地址 前言 zheng项目创建于2016年10月4日,正在 ...
- Maven整合SSM框架(maven+spring+springmvc+mybatis)
啊哈,终于到了用Maven整合SSM这个扑街含家产了.弄了整整一天才跑通.Mybatis的配置有些繁琐,跟之前学习的那个有点出去,加上Eclipse的Spring工具没有弄,配置的时候没有提示被搞蒙圈 ...
- 基于Spring+SpringMVC+Mybatis的分布式敏捷开发系统架构(附源码)
点击上方 好好学java ,选择 星标 公众号重磅资讯,干货,第一时间送达 今日推荐:推荐19个github超牛逼项目!个人原创100W +访问量博客:点击前往,查看更多 作者:zheng gitee ...
- SSM(Spring+SpringMVC+Mybatis)框架环境搭建(整合步骤)(一)
SSM(Spring+SpringMVC+Mybatis)框架环境搭建(整合步骤)(一) 1. 前言 最近在写毕设过程中,重新梳理了一遍SSM框架,特此记录一下. 附上源码:https://gitee ...
- 毕业设计-课程设计-Spring+SpringMVC+Mybatis项目—企业权限管理系统(1)
JavaEE:Spring+SpringMVC+Mybatis项目-企业权限管理系统 首先给出项目演示地址:http://www.youngxy.top:8080/SSM/ 项目架构图: 一:功能需求 ...
- SSM框架详细整合教程(Spring+SpringMVC+MyBatis)
动机 使用maven已经有一段时间了,但项目是别人搭建好的,因此一直想着自己要学习搭建一下.网上找了些资料后,结合自己实验,花了点时间就搞好,老样子,写在博客上,免得日后忘记. 本文链接:http:/ ...
最新文章
- SpringBoot2.0配置redis相关
- linux更改默认版本,linux - 将某个软件版本设为ubuntu中的默认版本 - Ubuntu问答
- 10.6 ip:网络配置工具
- SAP Cloud for Customer里Lead和LeanLead两个相似的BO
- mysql范式与反范式_MySQL 三种范式以及反范式 | 剑花烟雨江南
- 怎么用计算机搜索文件,Win7系统如何使用内置搜索功能筛选文件名与内容
- Infragistics.NetAdvantage.WinForm.2012.v2 ComboBoxEditor的小Bug
- python的数据模型_python高级(一)—— python数据模型(特殊方法)
- Spring.Web 之双向数据绑定(Bidirectional data binding)
- matlb:kmeans命令进行聚类和pdist2进行预测(含代码)
- 如何将HTML与win10桌面壁纸,Win10默认桌面背景怎么设置
- Python运算(四)random模块secrets模块
- 九、springboot+ idea + gradle使用jib打docker镜像
- Ambarella处理器启动过程
- Xposed模块初体验——第一篇
- “源”来是你-Vol.33 | 浙江大应科技 Aloudata 招聘开源社区运营
- 23考研王道排序(第八章)自用笔记
- do...while循环语句、死循环、循环的嵌套、Break、Continue
- 曙光服务器通过ipmi安装系统,曙光服务器ipmi部署记录版.docx
- 功能安全标准-ISO26262-9---ASIL等级确定与分解