Servlet账户登陆优化

Servlet账户登陆优化

项目基于之前的文章继续升级:

主要升级:

  • 使用Session保持用户登陆状态
  • 使用servlet处理登陆和退出请求
  • 根据Session中的type类型判断用户类型,给定其对应的导航

讲解:

dologin的响应

代码变化:
登陆表单目标地址由dologin.jsp变为dologin,并且dologin只会响应POST请求,GET请求这个地址,直接跳转到login.jsp页面。

form表单

效果:
dologin的GET响应

dologin对POST请求正常处理,原因是重写了servlet。
代码如下:
dologin代码

这里有一个小坑,就是账户验证不成功直接显示的中文会有乱码,字符集问题搞了大半天还是没有解决,打算通过跳转错误页面来解决这个问题,正式部署生产项目不需要直接显示,都是通过对应信息的页面来处理,所以也不是什么大事,希望能早日找到原因。

登陆成功后

POST正确提交,并且验证成功后,会跳转到profile.jsp页面,profile.jsp通过读取Session过来的值判断状态,并且根据用户类型,显示对应的导航。

效果:
超级管理员账户登陆

物业账户登陆

业主账户登陆

实现代码如下:
根据用户类别转换导航

logout退出登陆

通过servlet增加注册session的功能,不管GET方式到这个地址,还是POST方式到这个地址都会进行正常退出账户登陆和清除session。

效果:
退出登陆

终端显示

实现代码:
logout.java

感兴趣的同学可以访问GitHub看到这个项目。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/101229.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux smartctl 命令,在 CentOS 7 里用 smartctl 和 hdparm 对硬盘进行基本测试

    linux smartctl 命令,在 CentOS 7 里用 smartctl 和 hdparm 对硬盘进行基本测试新租服务器,想对硬盘的健康情况和读写速度进行基本测试,如使用CentOS7系统,可使用smartctl和hdparm的命令。过程:1.yum-yinstallsmartmontoolshdparm#安装相应的软件2.smartctl–test=short/dev/sda#假如硬盘设备名称是/dev/sda,进行简单测试3.smartctl-lselftest…

    2022年6月20日
    39
  • Google earthios_初步探索的重要成果

    Google earthios_初步探索的重要成果一、申请使用1.GoogleEarthStudio(以下简称GES)需要申请才能使用,前往GoogleEarthStudio官网注册申请,审核时间较久.2.审核通过,填写信息时留下的邮箱会收到如下提醒3.在Chrome浏览器中打开网址https://earth.google.com/studio/,会看到如下截图二、启动页1.新建项目,有两种方式分别是Blan…

    2022年9月19日
    2
  • Java8:LocalDate LocalDateTime Date相互转化

    Java8:LocalDate LocalDateTime Date相互转化概述时间日期处理是平时工作中使用非常频繁的逻辑,Java8中提供的新的时间类LocalDateTime和LocalDate,使日期处理可以更简单。友情提醒下,业务开发中最好默认使用LocalDateTime,因为LocalDateTime可以很方便的转换为LocalDate,但是LocalDate是不可以转为LocalDateTime的,会没有时分秒的数据!!!实例publicstaticvoidmain(String[]args){StringcurrentDate

    2022年9月28日
    5
  • scope=prototype有什么作用_java多例模式

    scope=prototype有什么作用_java多例模式@Scope(“prototype”)//多例模式

    2022年8月20日
    10
  • pycharm安装包报错

    pycharm安装包报错  相信有很多Python初学者在使用pycharm安装一些包时会遇到报错现象!  我也是一名Python初学者,当然也会遇到这种问题!当遇到上述问题时,我个人觉得是因为“pip”的版本问题,所以大家可以先更新“pip”(通过cmd更新:python-mpipinstall–upgradepip)。   …

    2022年5月16日
    41
  • 工作笔记 | Visual Studio 调用 Web Service

    工作笔记 | Visual Studio 调用 Web Service

    2021年5月26日
    104

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号