欢迎光临建站系统网站,我们的服务范围是一键建站,公司建站等。

建站系统

一个高端新的网络集成营销平台

图书管理系统【JavaWeb:用户、购买、订单模块、添加权限】

作者:jcmp      发布时间:2021-04-24      浏览量:0
用户模块要登陆后才能购买,因此我们先写购

用户模块

要登陆后才能购买,因此我们先写购买模块.

设计实体

设计数据库表

##编写DAO ##

测试DAO

抽取DAO

编写Service

前台样式

实现登陆注册功能

当点击登陆按钮的时候,把数据带过去给Servlet,让Servlet调用BusinessService方法,实现登陆 。注册同理.....因此,我们需要用到JavaScript代码。

购买模块

在显示图书的时候,顺便添加购买的超链接

设计购物车实体

如果不清楚为什么这样设计,可参考我之前的博文: blog.csdn.net/hon_3y/arti…

设计购物项实体

处理用户想要买的书籍Servlet

提供显示购物车商品的Servlet

显示购物车的JSP页面

效果:

订单模块

在前台用户界面中,当用户要把购物车付款时,应该提供生成订单的超链接....

设计订单实体

订单应该包含id,收货人信息,下单的时间,订单的总价,订单的状态【有无发货】..而不应该包含商品的信息的。商品的信息用一个专门的”订单项“来表示。

一个订单对应多个订单项,这是一对多的关系!

设计订单项实体

设计数据库表

mysql不能创建名为”order”的表,后边加个s就可以

设计Dao

二次更新

在编写dao的时候,尤其是Add方法。它是将所有数据都封装到Order对象上,然后取出数据,把数据插入到数据表中。

抽取成DAO接口

BussinessService

生成订单的Servlet

用户查询自己的订单Servlet

显示订单数据的JSP

效果:

后台查询订单的状况Servlet

显示订单状况的JSP

查看具体订单的详细信息Servlet

查看具体订单的详细信息JSP

处理发货的Servlet##

效果:

添加权限控制

目前为止,我们已经学习了动态代理技术和注解技术了。于是我们想要为之前的bookStore项目添加权限控制.....

只有用户有权限的时候,后台管理才可以进行相对应的操作.....

实现思路

之前我们做权限管理系统的时候,是根据用户请求的URI来判断该链接是否需要权限的。这次我们使用动态代理的技术和注解来判断: 用户调用该方法时,检查该方法是否需要权限...

根据MVC模式,我们在web层都是调用service层来实现功能的。那么我们具体的思路是这样的:

设计实体、数据库表

上次我们做的权限管理系统是引入了角色这个概念的,这次主要为了练习动态代理和注解技术,就以简单为主,不引入角色这个实体。直接是 用户和权限之间的关系 了。

Privilege实体

数据库表

privilege和user是多对多的关系,于是使用第三方表来维护他们的关系。

添加测试数据

为了方便,直接添加数据了。就不写详细的DAO了。

编写DAO

后面在动态代理中,我们需要检查该用户是否有权限...那么就必须查找出 该用户拥有的哪些权限 。再看看用户有没有相对应的权限。

抽取到接口上

注解模块

抽取Service

把Service的方法抽取成ServiceDao。在Servlet中,也是通过ServiceFactory来得到Service的对象【和DaoFactory是类似的】

CategoryService

ServiceFactory

PrivilegeExcetption

当用户没有登陆或者没有权限的时候,我们应该给用户一些友好的提示....于是我们自定义了PrivilegeException。

我们继承的是Exception,通过方法名抛出去。但是我们是 通过代理对象调用方法的,于是sun公司的策略就是把它们转换成运行期异常抛出去 。

因此,我们就在 Servlet上得到异常,再给出友好的提示 。。

效果:

要点总结

该权限控制是十分优雅的, 只要我在Service层中添加一个注解...那么当web层调用该方法的时候就需要判断用户有没有该权限... .