JavaWeb开发之Spring+SpringMVC+MyBatis+SpringSecurity+EhCache+JCaptcha 完整Web基础框架
程序员文章站
2024-03-11 11:42:07
简单介绍一下,本框架的基本功能点:
spring:整个框架的主体部分,这个自不用说。
springmvc:mvc部分我还是比较喜欢spring的。...
简单介绍一下,本框架的基本功能点:
- spring:整个框架的主体部分,这个自不用说。
- springmvc:mvc部分我还是比较喜欢spring的。
- mybatis:选型的时候选择这个orm主要也是考虑其灵活性的问题,毕竟我也不知道,今后会遇到怎样的需求,用hibernate一来是不太会用,二来,我还是比较喜欢直接写sql来的简单一点。
- springsecurity:这个主要是安全框架,负责用户登录验证及整站权限分配的相关事项(权限分配真的很有用,这个我就不多说了)。
- ehcache:一个非常流行又非常简单好用的缓存框架,并且目前已经支持分布式,如果觉得不好用,自己换成redis也都ok。
- jcaptcha:一个简单的验证码生成框架(或者说工具)。
- log4j:现在没人不知道这个日志框架吧...
按照这样的选型,基本可以完成大部分网站的基础框架,如:
- 用户登录管理,
- 整站权限分配,
- 数据缓存,
- 登录验证码,
- 数据库操作,
- 统一异常处理,
- 日志输出。
网上找了很多文章,大部分都是只有部分整合的,比如ssh整合,ssm整合,springmvc+springsecurity,等等,东一块,西一块,非常分散,而且每个人的配置方式还不一样,不统一,有的人喜欢注解配置,有的人喜欢xml配置,有的文章甚至直接就是有东没西,神龙见首不见尾。看的我是很郁闷,很蛋疼,因为当我好不容易搭好一个ssm框架,我发现,我要管理用户登录及权限分配的时候,咦,我还得去配置security,然后又要找很多文章来补充知识,配置security的时候,又要找验证码的框架,都搞好了以后,发现诶,缓存这个东西不都是任何一个网站必备的吗?所以就有了现在这篇文章,花了好大得劲,终于把所有都整合起来了。
只有自己亲手走过一遍,才真正学得会知识。作为一个程序员,我相信这样才是对我们是最好的一个方式。所以不要索要源码,不会给的。 先给出整个项目的
pom.xml
<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>
项目结构截图
以上所述是小编给大家介绍的javaweb开发之spring+springmvc+mybatis+springsecurity+ehcache+jcaptcha 完整web基础框架,希望对大家有所帮助