你的位置:首页 > ASP.net教程

[ASP.net教程]【JavaWeb】Spring+SpringMVC+MyBatis+SpringSecurity+EhCache+JCaptcha 完整Web基础框架(前言)

  一直希望能够搭建一个完整的,基础Web框架,方便日后接一些外快的时候,能够省时省力,终于花了一周的时间,把这个东西搞定了。特此写下此博客,一来是纪念,二来是希望能够为别人提供方便。

 

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


 

  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,等等,东一块,西一块,非常分散,而且每个人的配置方式还不一样,不统一,有的人喜欢注解配置,有的人喜欢

但是,本文章,不提供项目源码!

只有自己亲手走过一遍,才真正学得会知识。作为一个程序员,我相信这样才是对我们是最好的一个方式。所以不要索要源码,不会给的。 先给出整个项目的

Pom.

 

 1 <project  2     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 3   <modelVersion>4.0.0</modelVersion> 4   <groupId>com.magic.rent</groupId> 5   <artifactId>ssm</artifactId> 6   <packaging>war</packaging> 7   <version>1.0-SNAPSHOT</version> 8   <name>ssm Maven Webapp</name> 9   <url>http://maven.apache.org</url> 10   <repositories> 11     <repository> 12       <id>atlassian</id> 13       <name>atlassian</name> 14       <url>http://maven.jahia.org/maven2/</url> 15     </repository> 16   </repositories> 17   <build> 18     <finalName>ssm</finalName> 19     <plugins> 20       <!--Mybatis 逆向工程插件--> 21       <plugin> 22         <groupId>org.mybatis.generator</groupId> 23         <artifactId>mybatis-generator-maven-plugin</artifactId> 24         <version>1.3.2</version> 25         <configuration> 26           <verbose>true</verbose> 27           <overwrite>true</overwrite> 28         </configuration> 29       </plugin> 30     </plugins> 31   </build> 32   <properties> 33     <security.version>4.1.3.RELEASE</security.version> 34     <spring.version>4.3.3.RELEASE</spring.version> 35   </properties> 36   <dependencies> 37     <!-- SpringFramework Start --> 38     <dependency> 39       <groupId>org.springframework</groupId> 40       <artifactId>spring-core</artifactId> 41       <version>${spring.version}</version> 42     </dependency> 43  44     <dependency> 45       <groupId>org.springframework</groupId> 46       <artifactId>spring-web</artifactId> 47       <version>${spring.version}</version> 48     </dependency> 49  50     <dependency> 51       <groupId>org.springframework</groupId> 52       <artifactId>spring-oxm</artifactId> 53       <version>${spring.version}</version> 54     </dependency> 55  56     <dependency> 57       <groupId>org.springframework</groupId> 58       <artifactId>spring-tx</artifactId> 59       <version>${spring.version}</version> 60     </dependency> 61  62     <dependency> 63       <groupId>org.springframework</groupId> 64       <artifactId>spring-jdbc</artifactId> 65       <version>${spring.version}</version> 66     </dependency> 67  68     <dependency> 69       <groupId>org.springframework</groupId> 70       <artifactId>spring-webmvc</artifactId> 71       <version>${spring.version}</version> 72     </dependency> 73  74     <dependency> 75       <groupId>org.springframework</groupId> 76       <artifactId>spring-aop</artifactId> 77       <version>${spring.version}</version> 78     </dependency> 79  80     <dependency> 81       <groupId>org.springframework</groupId> 82       <artifactId>spring-context-support</artifactId> 83       <version>${spring.version}</version> 84     </dependency> 85  86     <dependency> 87       <groupId>org.springframework</groupId> 88       <artifactId>spring-test</artifactId> 89       <version>${spring.version}</version> 90     </dependency> 91  92     <dependency> 93       <groupId>org.springframework</groupId> 94       <artifactId>spring-expression</artifactId> 95       <version>${spring.version}</version> 96     </dependency> 97     <!-- SpringFramework End --> 98  99     <!--SpringSecurity Start-->100     <dependency>101       <groupId>org.springframework.security</groupId>102       <artifactId>spring-security-core</artifactId>103       <version>${security.version}</version>104     </dependency>105     <dependency>106       <groupId>org.springframework.security</groupId>107       <artifactId>spring-security-web</artifactId>108       <version>${security.version}</version>109     </dependency>110     <dependency>111       <groupId>org.springframework.security</groupId>112       <artifactId>spring-security-config</artifactId>113       <version>${security.version}</version>114     </dependency>115     <dependency>116       <groupId>org.springframework.security</groupId>117       <artifactId>spring-security-taglibs</artifactId>118       <version>${security.version}</version>119     </dependency>120     <dependency>121       <groupId>org.springframework.security</groupId>122       <artifactId>spring-security-crypto</artifactId>123       <version>${security.version}</version>124     </dependency>125     <!--SpringSecurity End-->126 127     <!--aspectj start-->128     <dependency>129       <groupId>org.aspectj</groupId>130       <artifactId>aspectjweaver</artifactId>131       <version>1.8.6</version>132     </dependency>133 134     <dependency>135       <groupId>org.aspectj</groupId>136       <artifactId>aspectjrt</artifactId>137       <version>1.8.6</version>138     </dependency>139     <!--aspectj end-->140 141     <!--c3p0-->142     <dependency>143       <groupId>com.mchange</groupId>144       <artifactId>c3p0</artifactId>145       <version>0.9.5.1</version>146     </dependency>147 148     <!--servlet/jsp api start-->149     <dependency>150       <groupId>javax.servlet</groupId>151       <artifactId>servlet-api</artifactId>152       <version>2.5</version>153     </dependency>154 155     <dependency>156       <groupId>javax.servlet.jsp</groupId>157       <artifactId>jsp-api</artifactId>158       <version>2.1</version>159       <scope>provided</scope>160     </dependency>161     <!--servlet/jsp api end-->162 163     <!--junit4-->164     <dependency>165       <groupId>junit</groupId>166       <artifactId>junit</artifactId>167       <version>4.11</version>168       <scope>test</scope>169     </dependency>170 171     <!--Mybatis-->172     <dependency>173       <groupId>org.mybatis</groupId>174       <artifactId>mybatis</artifactId>175       <version>3.3.0</version>176     </dependency>177     <!--Mybatis Spring整合-->178     <dependency>179       <groupId>org.mybatis</groupId>180       <artifactId>mybatis-spring</artifactId>181       <version>1.2.3</version>182     </dependency>183 184     <!--MySQL Driver-->185     <dependency>186       <groupId>mysql</groupId>187       <artifactId>mysql-connector-java</artifactId>188       <version>5.1.6</version>189     </dependency>190 191     <dependency>192       <groupId>jstl</groupId>193       <artifactId>jstl</artifactId>194       <version>1.2</version>195     </dependency>196 197     <!--JCaptcha验证码-->198     <dependency>199       <groupId>com.octo.captcha</groupId>200       <artifactId>jcaptcha</artifactId>201       <version>1.0</version>202     </dependency>203 204     <!--公共工具包-->205     <dependency>206       <groupId>org.apache.commons</groupId>207       <artifactId>commons-lang3</artifactId>208       <version>3.4</version>209     </dependency>210 211     <!--Ehcache缓存框架 start-->212     <dependency>213       <groupId>net.sf.ehcache</groupId>214       <artifactId>ehcache-core</artifactId>215       <version>2.6.11</version>216     </dependency>217     <!--Mybatis-Ehcache整合包-->218     <dependency>219       <groupId>org.mybatis</groupId>220       <artifactId>mybatis-ehcache</artifactId>221       <version>1.0.0</version>222     </dependency>223     <!--Ehcache-Web页面及对象缓存-->224     <dependency>225       <groupId>net.sf.ehcache</groupId>226       <artifactId>ehcache-web</artifactId>227       <version>2.0.4</version>228     </dependency>229     <dependency>230       <groupId>org.slf4j</groupId>231       <artifactId>slf4j-api</artifactId>232       <version>1.6.1</version>233     </dependency>234     <dependency>235       <groupId>org.slf4j</groupId>236       <artifactId>slf4j-log4j12</artifactId>237       <version>1.6.2</version>238     </dependency>239     <!--Ehcache缓存框架 end-->240   </dependencies>241 </project>

项目结构截图


 

[图是高清的,我从1080P的屏幕下截取的]

[字太小可以下载到本地后放大,可以看得很清楚,亲测]

[回头有空,我再补一个目录结构文档]


几月份去泰国旅游最好什么时候去泰国旅游最便宜去泰国旅游跟团要多少钱去泰国旅游需要多少钱泰国旅游大概多少钱新加坡最神奇的岛屿是什么?——姊妹岛 走进南京的“爱情隧道” 新加坡最清新的花园叫什么?圆圃花园 2015深圳麦鲁小城春节开放吗?麦鲁小城春节活动介绍? 英德九州驿站最新团购价格?英德天门沟九洲驿站门票优惠政策? 英德九州驿站官网,英德天门沟九洲驿站官方网站。 英德九州驿站电话?英德天门沟九洲驿站门票预订? 九州驿站天门沟站好玩吗?九州驿站英德天门沟站怎么样? 云浮金水台漂流好玩吗?云浮市新兴金水台漂流怎么去? 金水台峡谷好玩吗?佛山金水台峡谷漂流全长多少公里? 佛山金水台峡谷漂流怎么样?金水台峡谷漂流刺激吗? 清远青龙峡漂流周边住宿推荐?清远青龙峡漂流附近住宿方便吗? 青海湖骑行线路推荐 峨眉山温泉酒店推荐_峨眉山温泉酒店门票 大理南帝段皇爷隐居地湘西桃源县 委内瑞拉天使瀑布_世界最高的瀑布_委内瑞拉安赫尔瀑布,丘伦梅鲁瀑布 MA10-1104QNC Datasheet MA10-1104QNC Datasheet MA10-1104QRC Datasheet MA10-1104QRC Datasheet MA10-1104QYC Datasheet MA10-1104QYC Datasheet 武汉极地海洋世界怎么走 武汉极地海洋世界怎么走 武汉极地海洋世界怎么走 归元寺在哪 归元寺在哪 归元寺在哪 桂林龙胜梯田 桂林龙胜梯田 桂林龙胜梯田