频道栏目
首页 > 程序开发 > 软件开发 > Java > 正文
Spring+SpringMVC+shiro+mysql解析
2017-11-03 13:41:01      个评论    来源:二十二画生的专栏  
收藏   我要投稿

Spring+SpringMVC+shiro+mysql解析。最近要做个后台管理系统,就会设计到权限的管理控制,于是就想到 shiro ,下面是自己对Spring+shiro的一点点理解,记录下来,一起多探讨:

项目结构

1. pom.xml 配置

1.1. 版本属性信息配置

 1 
 2         
 3         UTF-8
 4         zh_CN
 5         1.8
 6 
 7         
 8         ${basedir}/src/test/java/generatorConfig.xml
 9         file:///${basedir}/src/test/java/generatorConfig.properties
10 
11         
12         1.3.1
13         3.1
14         2.18.1
15         true
16 
17         
18         4.11
19         4.0.2.RELEASE
20         3.2.2
21         1.2.2
22         5.1.6
23         1.6.6
24         1.2.12
25         4.1.2
26         1.9.13
27         1.0.5
28         1.2
29         1.0
30         3.1
31         1.2.3
32         1.3.1
33         1.9
34         3.3
35         <aspectj.version>1.6.12
36         4.0.18.Final
37         5.1.1.Final
38     

1.2. 依赖库信息配置

  1     
  2         
  3         
  4             org.springframework
  5             spring-core
  6             ${spring.version}
  7         
  8 
  9         
 10             org.springframework
 11             spring-web
 12             ${spring.version}
 13         
 14 
 15         
 16             org.springframework
 17             spring-oxm
 18             ${spring.version}
 19         
 20 
 21         
 22             org.springframework
 23             spring-tx
 24             ${spring.version}
 25         
 26 
 27         
 28             org.springframework
 29             spring-jdbc
 30             ${spring.version}
 31         
 32 
 33         
 34             org.springframework
 35             spring-webmvc
 36             ${spring.version}
 37         
 38 
 39         
 40             org.springframework
 41             spring-aop
 42             ${spring.version}
 43         
 44 
 45         
 46             org.springframework
 47             spring-context-support
 48             ${spring.version}
 49         
 50 
 51         
 52             org.springframework
 53             spring-test
 54             ${spring.version}
 55         
 56         
 57 
 58         
 59         
 60             org.apache.shiro
 61             shiro-spring
 62             ${shiro.version}
 63         
 64         
 65             org.apache.shiro
 66             shiro-ehcache
 67             ${shiro.version}
 68         
 69         
 70             org.apache.shiro
 71             shiro-core
 72             ${shiro.version}
 73         
 74         
 75             org.apache.shiro
 76             shiro-web
 77             ${shiro.version}
 78         
 79         
 80             org.apache.shiro
 81             shiro-quartz
 82             ${shiro.version}
 83         
 84 
 85         
 86         
 87             org.mybatis
 88             mybatis
 89             ${mybatis.version}
 90         
 91 
 92         
 93             org.mybatis
 94             mybatis-spring
 95             ${mybatis.spring.version}
 96         
 97         
 98 
 99         
100         
101             mysql
102             mysql-connector-java
103             ${mysql.connector.version}
104         
105 
106         
107         
108             com.alibaba
109             druid
110             ${druid.version}
111         
112 
113         
114         
115             org.codehaus.jackson
116             jackson-mapper-asl
117             ${jackson.version}
118         
119 
120         
121         
122             log4j
123             log4j
124             ${log4j.version}
125         
126         
127             org.slf4j
128             slf4j-api
129             ${slf4j.version}
130         
131         
132             org.slf4j
133             slf4j-log4j12
134             ${slf4j.version}
135         
136         
137 
138         
139         
140             commons-fileupload
141             commons-fileupload
142             ${commons.fileupload.version}
143         
144 
145         
146             org.apache.httpcomponents
147             httpclient
148             ${httpclient.version}
149         
150 
151         
152             commons-codec
153             commons-codec
154             ${commons.codec.version}
155         
156 
157         
158             commons-net
159             commons-net
160             ${commons.net.version}
161         
162 
163         
164             commons-logging
165             commons-logging
166             1.1.3
167         
168         
169             commons-collections
170             commons-collections
171             3.2.1
172         
173         
174  
175         
176         
177             com.google.collections
178             google-collections
179             ${google.collections.version}
180         
181 
182         
183         
184             cglib
185             cglib-nodep
186             ${cglib.version}
187         
188  
189         
190         
191             org.aspectj
192             aspectjweaver
193             ${aspectj.version}
194         
195         
196             org.aspectj
197             aspectjrt
198             ${aspectj.version}
199         
200 
201         
202         
203             org.hibernate
204             hibernate-validator
205             ${hibernate.validator.version}
206         
207  
208         
209         
210             io.netty
211             netty-all
212             ${netty.version}
213         
214  
215         
216         
217             junit
218             junit
219             ${junit.version}
220             test
221         
222 
223         
224         
225             javax.servlet
226             javax.servlet-api
227             3.0.1
228             provided
229         
230 
231         
232         
233             javax.servlet
234             jstl
235             ${jstl.version}
236         
237     

 

1.3. 编译及tomcat部署配置

 1     
 2         shiro01
 3         
 4             
 5             
 6                 org.apache.maven.plugins
 7                 maven-war-plugin
 8                 2.6
 9                 
10                     src/main/webapp/WEB-INF/web.xml
11                 
12             
13             
14             
15                 org.apache.tomcat.maven
16                 tomcat7-maven-plugin
17                 2.2
18                 
19                   https://localhost:8080/manager
20                   tomcat
21                   hunter 
22                   hunter
23                   /shiro01
24                   true
25                 
26               
27               
28               
29                 org.mybatis.generator
30                 mybatis-generator-maven-plugin
31                 ${plugin.mybatis.generator}
32                 
33                     ${mybatis.generator.generatorConfig.xml}
34                     true
35                     true
36                 
37               
38         
39     

 

2. spring-mvc.xml 核心配置

 1 
 2 
14 
15     
16     
17 
18     
19     
20     
21 
22     
23     
24         
25         
26         
27     
28 
29     
30     
31         
32             
33                 
34                 classpath:messages
35                 classpath:org/hibernate/validator/ValidationMessages
36             
37         
38         
39         
40         
41     
42 
43     
44         
45     
46 
47     
48         
49     
50 
51     
52     
53         
54             
55                 
56             
57         
58     
59     
61         
62             
63                 text/plain;charset=UTF-8
64                 application/json;charset=UTF-8
65             
66         
67     
68     
69 
70     
71     jsp">
73 
74     
75     
76     
77         
78     
79 

 

3. server.properties 配置

##JDBC Global Setting
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/hunter_shiro?useUnicode=true&characterEncoding=utf-8
jdbc.username=root
jdbc.password=hunter

##DataSource Global Setting

#配置初始化大小、最小、最大
ds.initialSize=1
ds.minIdle=1
ds.maxActive=20

#配置获取连接等待超时的时间 
ds.maxWait=60000

#配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
ds.timeBetweenEvictionRunsMillis=60000

#配置一个连接在池中最小生存的时间,单位是毫秒
ds.minEvictableIdleTimeMillis=300000

 

4. spring-mybatis.xml 配置

  1 
  2 
 22 
 23     
 24     
 25 
 26     
 27     
 28         
 29             
 30                 classpath*:server.properties
 31             
 32         
 33     
 34 
 35     
 36     
 37         
 38         
 39         
 40         
 41 
 42         
 43         
 44         
 45         
 46 
 47         
 48         
 49 
 50         
 51         
 52 
 53         
 54         
 55 
 56         
 57         
 58         
 59         
 60 
 61         
 62         
 63         
 64 
 65         
 66         
 67     
 68 
 69     
 70     
 71         
 72         
 73         
 74         
 75     
 76 
 77     
 78     
 79         
 80         
 81     
 82 
 83     
 84     
 86         
 87     
 88 
 89     
 90     
 91         
 92             
 93             
 94             
 95             
 96             
 97             
 98             
 99             
100             
101             
102             
103         
104     
105 
106     
107     
108         
109         
110     
111 
112     
113     
114 
115     
116     
117 
118     
119     
120     
122     
124 

 

5. mybatis-config.xml配置

 1 
 2 
 5 
 6     
 7         
 8     
 9 
10     
11     
12 
13         
14         
15 
16         
17         
18 
19         
20         
21 
22         
23         
24 
25         
26         
27 
28         
29         
30 
31         
32         
33 
34         
35         
36 
37         
38         
39 
40         
41         
42 
43         
45         
46 
47         
49         
50 
51         
52         
53 
54         
55         
56 
57     
58 
59     
60         
61     
62 
63     
64         
65         
66     
67 
68 

 

6. spring-shiro.xml配置

 1 
 2 
 7 
 8     apache shiro配置
 9 
10     
12         
13         
14         
15         
16     
17     
18     
19     
20         
21         
22         
23         
24     
25     
26     
27         
28         
29         
30         
31         
32             
33                 
34                 /app/** = anon
35                 /assets/** = anon
36                 
37                 /user/login.htm = anon
38                 
39                 /** = authc
40             
41         
42     
43 
44     
45     
46         
47     
48 
49     
50     
51 
52     
53     
54         
55     
56 
57     
58     
59         
60         
61     
62 
63     
64     
65     
67     
68 

 

7. 缓存文件配置

7.1ehcache.xml

1 
2 
3     
4     
5     
8 

7.2 ehcache-shiro.xml

 1 
 2 
 3     
12 

 

8. log4j.properties配置

# DEBUG,INFO,WARN,ERROR,FATAL
LOG_LEVEL=INFO

log4j.rootLogger=${LOG_LEVEL},CONSOLE,FILE

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Encoding=utf-8
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
#log4j.appender.CONSOLE.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss} %C{8}@(%F:%L):%m%n 
log4j.appender.CONSOLE.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss} %C{1}@(%F:%L):%m%n

log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender
log4j.appender.FILE.File=${catalina.base}/logs/shiro01.log
log4j.appender.FILE.Encoding=utf-8
log4j.appender.FILE.DatePattern='.'yyyy-MM-dd
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
#log4j.appender.FILE.layout=org.apache.log4j.HTMLLayout
log4j.appender.FILE.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH\:mm\:ss} %C{8}@(%F\:%L)\:%m%n

 

9. web.xml 配置

  1 
  2 
  5 
  6     
  7     
  8     
  9         contextConfigLocation
 10         
 11             classpath*:spring-mybatis.xml
 12             classpath*:spring-shiro.xml
 13         
 14     
 15     
 16     
 17         org.springframework.web.context.ContextLoaderListener
 18     
 19     
 20 
 21     
 22     
 23         encodingFilter
 24         org.springframework.web.filter.CharacterEncodingFilter
 25         
 26             encoding
 27             UTF-8
 28         
 29         
 30             forceEncoding
 31             true
 32         
 33     
 34     
 35         encodingFilter
 36         /*
 37     
 38 
 39     
 40     
 41         shiroFilter
 42         org.springframework.web.filter.DelegatingFilterProxy
 43         true
 44         
 45             targetFilterLifecycle
 46             true
 47         
 48     
 49     
 50         shiroFilter
 51         /*
 52     
 53 
 54     
 55     
 56         log4jConfigLocation
 57         classpath:log4j.properties
 58     
 59     
 60     
 61         log4jRefreshInterval
 62         60000
 63     
 64 
 65     
 66     
 67         org.springframework.web.util.Log4jConfigListener
 68     
 69  
 70     
 71     
 72         dispatcher
 73         org.springframework.web.servlet.DispatcherServlet
 74         
 75             contextConfigLocation
 76             classpath*:spring-mvc.xml
 77         
 78         1
 79     
 80     
 81         dispatcher
 82         
 83         *.htm
 84     
 85 
 86     
 87     
 88         index.jsp
 89     
 90 
 91     
 92     
 93         404
 94         /404.jsp
 95     
 96     
 97         500
 98         /500.jsp
 99     
100 


 

再来看看webapp 下文件路径信息吧

 

我们先来启动一次项目,确保配置信息正确

  直接点击项目运行maven build在弹出框输入tomcat:runapply后直接运行即可。

如果能正确访问到index.jsp页面,说明之前配置信息没得问题啦


点击复制链接 与好友分享!回本站首页
上一篇:Java之十五 JDBC编程
下一篇:学习SpringMVC(二十一)之通过超链接切换Locale
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站