当前位置: 移动技术网 > IT编程>开发语言>Java > JavaWeb开发之Spring+SpringMVC+MyBatis+SpringSecurity+EhCache+JCaptcha 完整Web基础框架

JavaWeb开发之Spring+SpringMVC+MyBatis+SpringSecurity+EhCache+JCaptcha 完整Web基础框架

2019年07月22日  | 移动技术网IT编程  | 我要评论

街拍美腿,魔兽天尊,林肯公园发文缅怀

简单介绍一下,本框架的基本功能点:

  1. spring:整个框架的主体部分,这个自不用说。
  2. springmvc:mvc部分我还是比较喜欢spring的。
  3. mybatis:选型的时候选择这个orm主要也是考虑其灵活性的问题,毕竟我也不知道,今后会遇到怎样的需求,用hibernate一来是不太会用,二来,我还是比较喜欢直接写sql来的简单一点。
  4. springsecurity:这个主要是安全框架,负责用户登录验证及整站权限分配的相关事项(权限分配真的很有用,这个我就不多说了)。
  5. ehcache:一个非常流行又非常简单好用的缓存框架,并且目前已经支持分布式,如果觉得不好用,自己换成redis也都ok。
  6. jcaptcha:一个简单的验证码生成框架(或者说工具)。
  7. log4j:现在没人不知道这个日志框架吧...

  按照这样的选型,基本可以完成大部分网站的基础框架,如:

  1. 用户登录管理,
  2. 整站权限分配,
  3. 数据缓存,
  4. 登录验证码,
  5. 数据库操作,
  6. 统一异常处理,
  7. 日志输出。

  网上找了很多文章,大部分都是只有部分整合的,比如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基础框架,希望对大家有所帮助

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网