花了一个多星期的时间做了次项目的实战,回想整个过程大致可分为这几个状态:
一、毫无头绪:一开始项目的整体构思,选择要实现的功能以及数据库的设计;
二、思路渐渐清晰:在完成了数据库的设计,以及模块的构思之后,就是想着从哪开始实现项目,先走通一条线再串起来
就比如:实现商品展示-->单个商品-->购买(添加到购物车)-->判断是否登录-->结算(登录)-->成功;
结算的时候:可以选择地址,支付方式,配送方式;
选择地址,可以对地址进行增删改查......
三、抓耳挠腮:清楚了想做的功能,已有的素材中页面的不全,效果没有预期的好,如何接收数据,如何传输数据,都要迎难之上。
== 一篇文章是肯定写不完的,所以会分一二三… 也是新手上路,所以这篇文章也就相当于是开发项目之后的一个回顾,心得,总结。==
一、开发环境
- 开发工具:IDEA
- JDK:1.8
- 数据库:MySQL
- 框架:MavenWeb + Spring + SpringMVC + Mybatis + Shiro
二、功能模块
- 个人用户:
登录,注册,可以浏览商品(保护膜,保护壳),查看商品详情,添加购物车,支付,增删改地址,查看个人订单,订单详情; - 管理员用户:
可以管理用户,管理商品,管理订单。 - 通过shiro对页面进行拦截,放行的操作,通过对角色的细分,使管理员拥有授权的操作:
比如超级管理员可以赋予商品管理员,增删改查商品的权力,但是没有管理用户信息的权力,商品管理员可以赋予上货员添加商品信息的权力,但是没有删改的权限;
【先给大家看看跑起来的情况】
- 等等吧由于篇幅原因就不一一放出来了;有需要素材的可以滴滴
三、数据库的设计
…
总的表看这里:t_user用户表,t_goods_info商品信息表,t_goods_type商品类别表,t_order订单表,t_order_detail订单详情表,t_address地址,sys_menu菜单表,sys_role角色表,sys_role_menu角色菜单关系表(角色拥有哪些菜单),sys_role_user角色用户关系表(角色有哪些用户);
四、项目的基本搭建:
在pom.xml中,除了基本的依赖还需要导入shiro的依赖
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring</artifactId>
<version>1.3.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.ehcache/ehcache -->
<dependency>
<groupId>org.ehcache</groupId>
<artifactId>ehcache</artifactId>
<version>3.3.1</version>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-ehcache</artifactId>
<version>1.3.2</version>
</dependency>
在web.xml中配置shiroFilter过滤器
<!--配一个ShiroFilter-->
<!-- Shiro Filter is defined in the spring application context: -->
<filter>
<filter-name>shiroFilter</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
<!-- 默认是值是false,true代表由spring来管理bean的生命周期-->
<init-param>
<param-name>targetFilterLifecycle</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>shiroFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
在SpringMVC中启动Shiro注解
<!-- 开启shiro 权限注解 -->
<aop:config proxy-target-class="true"></aop:config>
<bean class="org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor">
<property name="securityManager" ref="securityManager" />
</bean>
然后加入shiro的.xm主配置文件【ShiroFilter其作用类似于SpringMVC的前端核心控制器DispatcherFilter,是安全的入口】这是之前SMM整合shiro的一套。