hjr教程-JSP(六):J2EE项目架构

来源:互联网 发布:infographic制作软件 编辑:程序博客网 时间:2024/06/18 03:56

业务

定义业务功能

当想要添加功能时,先新建一个服务包,包里面建一个服务接口,服务里面先对功能进行定义。

实现业务功能

接下来写服务的实现,新建一个实现包,包里面新建一个类写一个类实现之前建的服务接口,可以继承接口后直接点击添加未实现的方法自动填充(所有的业务代码最好都写到这里)。

上面两条是一一对应的

数据

数据库

定义数据库功能

我们要使用数据库,新建一个dao包,先建一些对数据库操作的Mapper接口,每张数据表对应一个。

实现数据库功能

数据库需要一些SQL语句,先把SQL常用的语句写到Mapper.xml里,用ID命名Sql功能,每个数据表一个Mapper.xml,里面的内容依照Mapper包的接口填充。

上面两条是一一对应的,并且可以使用工具自动生成。

数据模型

新建一个Modle包,每张数据表对应一个写满了属性的Model

控制器

下面是控制器部分,控制器负责请求跳转、页面渲染、返回数据等

控制器调用服务中的各种功能,服务再调用Mapper.class接口定义的数据库操作,Mappex.xml是Mapper.class接口的实现。

关于调用接口

我们定义一个接口Ix,x实现来了Ix的fun()方法,那么我们

Ix ix;ix.fun();

会自动执行x的实现。

Session

Session是联系整个项目的纽带,基本每个方法都有一个Session参数。

AOP

面向切面编程,可以用拦截器过滤请求,做权限控制、日志管理等功能。

登录

cookie+session+拦截器

用户登录时当点击保存密码后,使用JS对用户名和密码加密后存到Cookie,当检测到Cookei后解密并填充到Input中

用户登录成功后把用户Model存放到Session中,同时查出用户所属角色拥有的权限也存到session中

在配置文件中设置Session失效时间,当用户Session失效后用户请求任何页面都会跳转到登录界面,放到拦截器中做。拦截器中同时检测请求页面权限id与用户拥有id是否匹配,做权限拦截。

1 0
原创粉丝点击