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

  

 

  

一点一点积累,一点一点蜕变!
原文地址:https://www.cnblogs.com/qq2210446939/p/14319440.html