一、项目简介
设计并实现一个企业后台管理系统,包括员工管理、员工权限管理、产品采购管理以及报表展示等功能,同时不同的员工拥有不同的权限,可操作的功能受到权限的限制
二、项目框架
SSJ:Spring + SpringMVC + SpringDataJpa
Spring
1、Spring
是一个开源的轻量级的Java开发框架
2、简化应用程序的开发
3、IOC
控制反转容器
4、aop
面向切面编程
5、di
注入
Spring项目部署:
创建类,然后放到SpringMVC.xml
的bean
中
SpringMVC执行流程
SpringDataJpa
JPA
:ORM(对象关系映射)规范,操作数据库变得更加简单,兼容各种数据库,开发效率极高!
Hibernate
:对JPA有最完美的实现!
SpringDataJPA
:是Spring
为JPA
又做了一层封装
优缺点:
开发更加简单与方便,随便hibernate
的性能的提高,以及Spring
的支持
性能差、运行效率低,适合性能要求不高,但开发时间要求较高的项目
三、项目中的技术点
1、模板技术Velocity
将JAVA代码从网页中分离出来,使得页面设计者可以专注于版面的设计,而JAVA程序员可以集中精力编写复杂的代码, 而且这种分离保护了系统,避免了有意或无意带来危险的代码。然后通过VelocityContext
将JAVA程序和Velocity
文本模板联系起来,用put()
方法将对象加入到VelocityContext
中,最后在文本模块以$字符开头加上用put()
方法设置的第一个参数指定的名字符号直接访问JAVA程序的对象
2、权限拦截器Shiro
执行流程:
1、在web.xml
中配置过滤器
<filter>
<filter-name>shiroFilter</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
<async-supported>true</async-supported>
<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>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
2、通过反射在spring bean
工厂中获取id=“shiroFilter”的bean
<bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
<property name="securityManager" ref="securityManager"/>
<property name="loginUrl" value="/login"/>
<property name="filters">
<util:map>
<entry key="authc" value-ref="formAuthenticationFilter"/>
<entry key="sysUser" value-ref="sysUserFilter"/>
</util:map>