session实战案例
简述
之前我们完成了showAllController的设计,只要访问这个servlet就能看到所有的用户。那么实际情况不是所有人访问都能看到的,我们就要进行一个权限验证,如果登录了就显示对应结果,没有登录则跳转到登录界面,这里用到的就是session存储我们的登录状态。
前期准备
首先我们创建管理员表,并往里面插几条数据
create TABLE manager( username VARCHAR(20) PRIMARY KEY, PASSWORD VARCHAR(20) NOT NULL )CHARSET=utf8; INSERT INTO manager VALUES('hjj','123'); INSERT INTO manager VALUES('tom','123'); INSERT INTO manager VALUES('cat','123');
然后创建manager的实体类,写上基本方法
然后设计好dao和实现类,具体见代码
对于我们的业务层来说,就要判断登录状态了,创建manager的service接口和实现类,login就是根据用户输入的username进行查询,若查询结果不为空且密码和输入的密码一致,我们就返回这个查询对象
servlet设计
我们把所有controller的servlet类放进controller包里,把所有显示结果的servlet放进jsp包下
接着我们设计loginMgrController,这个类是管理员登录后的信息判断,账号和密码相同则跳转到shwoAllController,登录失败则跳回登录界面
接着就出现了一个问题,如果用户非法访问showAllController,是不是就绕过了登录呢,所以我们要对showAllController进行登录状态的处理
接着我们创建管理员登录的html页面,注意这里是跳转到loginMgr进行身份判断
到这一步,全部任务就完成了,我们可以直接访问showall,发现不会给我们显示信息,而是会跳转到登录页面,这是因为我们进行了登录状态的判断
项目地址
https://github.com/Layton-sy/My_Servlet
一点一点积累,一点一点蜕变!