- 一、导入jar包
- 1、springmvc相关jar包
- 2、spring核心jar包
- 3、aop相关的包
- 4、dao层数据库相关jar包
- 5、mybatis相关jar包
- 6、mybatis整合spring相关jar包
- 7、shiro相关jar包
- 8、shiro整合spring相关jar包
- 9、页面相关包
- 10、工具类jar包
- 二、配置相关配置文件
- 1、web.xml配置文件
- 2、applicationContext-springmvc.xml配置文件
- 3、applicationContext.xml配置文件
- 4、applicationContext-mybatis.xml配置文件
- 5、mybatis-config.xml配置文件
- 6、applicationContext-shrio.xml配置文件
- 7、sqlMapper.xml映射文件
- 8、jdbc.properties配置文件
- 9、log4j.properties配置文件
- 10、添加相应注解
- 11、联通测试
一、导入jar包
1、springmvc相关jar包
(1)web相关包
(2)文件上传
commons-fileupload、commons-io;
(3)json相关包
jackson-annotations、jackson-core、jackson-databind;
2、spring核心jar包
core、context、expression、beans;
3、aop相关的包
aop相关:spring-aop、aopallicanse;
aspect相关:spring-aspect、aspectjweaver;
4、dao层数据库相关jar包
spring-jdbc、spring-tx、mysql-connector、druid
5、mybatis相关jar包
(1)mybatis核心包
(2)mybatis依赖包
ant、ant-launcher、asm、cglib、commons-logging、javassist、log4j、log4j-api、log4j-core、ognl、slf4j-api、slf4-log4j12;
6、mybatis整合spring相关jar包
7、shiro相关jar包
(1)shiro核心包
(2)其他依赖包
commons-beanutils、commons-logging、junit、log4j、slf4j-api、slf4j-log4j12;
8、shiro整合spring相关jar包
9、页面相关包
(1)jstl的jar包
(2)mybatis分页插件相关jar包
10、工具类jar包
lombok、commons-logging;
注意:有些依赖的jar包时重复的,在导包时注意不要重复。
二、配置相关配置文件
所有分配置文件如下:
web.xml配置文件;
applicationContext-springmvc.xml配置文件;
applicationContext.xml配置文件;
applicationContext-mybatis.xml配置文件;
mybatis-config.xml配置文件;
applicationContext-shrio.xml配置文件;
sqlMapper.xml映射文件;
jsbc.properties配置文件;
log4j.properties配置文件。
1、web.xml配置文件
(1)web应用监听器contextLoaderListener
项目启动时就加载以下配置文件:
1)spring的配置文件:classpath:applicationContext.xml;
2)mybatis配置文件:classpath:applicationContext-mybatis.xml;
3)shiro配置文件:classpath:applicationContext-shiro.xml。
(2)前端控制器
启动时就加载的配置文件:classpath:applicationContext-springmvc.xml;
url-pattern:/;
load-on-starup:1.
(3)配置shiro过滤器的代理
shiro实现权限通过过滤器filter,类名为:DelegatingFilterProxy
目标过滤器的生命周期(targetFilterLifrcycle):true;
过滤所有请求:url-pattern:/;
配置如下:
2、applicationContext-springmvc.xml配置文件
(1)包扫描
(2)三大组建注解驱动
(3)视图解析器
(4)消息转换器工厂
(5)静态资源处理器
(6)文件上传
(7)拦截器
3、applicationContext.xml配置文件
(1)包扫描
(2)事务管理器
(3)事务的注解驱动
(4)切面
4、applicationContext-mybatis.xml配置文件
(1)加载jdbc.properties配置文件
(2)配置数据源
(3)创建sqlSession工厂
1)注入数据源
2)加载mybatis核心配置文件
3)加载sqlMapper映射文件
(4)扫描mapper
5、mybatis-config.xml配置文件
(1)驼峰命名
(2)懒加载
(3)包别名
6、applicationContext-shrio.xml配置文件
(1)配置安全管理器
(2)配置凭证匹配器
(3)配置自定义的realm
(4)配置shiro过滤器的工厂
注意:shiro过滤器工厂必须与web.xml中过滤器的名称保持一致。
在过滤器工厂中配置项目相关资源或角色。
A.必须的配置:注入安全管理器
B.常见的配置:
1)登录时的url(loginUrl)
2)登陆成功时跳转的url(successUrl)
3)没有权限时跳转的url(unauthorizedUrl)
注意:这个配置在整合spring的时候就不生效了,这时,可以舍弃这种配置方式,采取以下两种策略来处理:
①定义全局异常处理器处理。
②在shiro配种文件中添加异常映射的配置文件,当没有权限时,跳转指定页面,配置如下:
要跳转的页面()
4)配置授权的策略(filterChainDefinitions)
a.按照设定的资源配置(太繁琐,不常用)
<!—举例说明:教师模块 —>
<!—
/teacher/add = perms[teacher:add]
/teacher/delete
= perms[teacher:delete]
注意:采用这种配置方式,项目中所有的资源都要在此配置。
b.拦截所有请求,对不需要拦截的资源放行(重点掌握)
<!-静态资源放行—>
/assets/ =anon
<!—登陆页面放行>
/auth/login
= anon
<!—登出页面放行—>
/auth/loginOut
= logout
<!—拦截所有资源—>
/ =authc
(5)开启shiro的注解支持
注意:需在springmvc或者springmvc的配置文件中开启注解aop。
< aop:aspectj-autoproxy
proxy-target-class=”true”>
(6)配置缓存管理器
7、sqlMapper.xml映射文件
8、jdbc.properties配置文件
9、log4j.properties配置文件
10、添加相应注解
(1)包扫描相关注解
@Component、@Service、@Controller;
(2)事务相关注解
(3)切面相关注解
(4)访问路径相关注解
(5)shiro相关注解
在项目中每一个handler方法上添加如下注解:
@RequiresPermissions(“类上的限定url:方法上的限定url”)
注意:此处的url不加”/”。