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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 关于SoftMax函数的一些介绍[通俗易懂]

    前言SoftMax函数是在机器学习中经常出现的,时常出现在输出层中。对于这个函数,大部分blog作者对于它介绍已经很完善了,包括如何玄学设计,如何使用等等,这里只是从数学来源上讨论下这个函数名字的来历,或者说数学的来源,为什么叫做SoftMax(有没有HardMax)等等。1.SoftMax的形式SoftMax函数,全名SoftMaximum函数。其形式为σ(z)j=ezjΣk=…

    2022年4月14日
    94
  • ETL开发面试题集

    ETL开发面试题集ETL讲解(很详细!!!)ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。ETL是BI项目重要的一个环节。通常情况下,在BI项目中ETL会花掉整个项目至少1/3的时间,ETL设计…

    2022年6月13日
    76
  • 鸿蒙系统v30能用吗_v30pro升级鸿蒙系统使用感受

    鸿蒙系统v30能用吗_v30pro升级鸿蒙系统使用感受鸿蒙鸿蒙发布在gitee上https://gitee.com/openHarmony入门指导,以Hi3516DV300为例https://gitee.com/openharmony/docs/tree/master/quick-start搭建环境在ubuntu18.4上,环境搭建可参考gitee上的入门的指导,编译顺利通过后,回头重点理一下:安装Pythonsudoaptinstall-ypythonsudoaptinstall-ypython3下载编译工具w

    2025年12月8日
    4
  • ARM64架构、国产系统UOS、银河麒麟离线安装jdk1.7、jdk1.8,jdk7、jdk8离线安装(100%成功)

    ARM64架构、国产系统UOS、银河麒麟离线安装jdk1.7、jdk1.8,jdk7、jdk8离线安装(100%成功)Linuxarm64架构下安装jdk1.7、jdk1.8说明:理论上适用于arm64架构的Linux系统,目前在银河麒麟、UOS测试可安装通过1.挂载ISO介质上传Kylin-4.0.2-FT2000Plus.iso到服务器到/opt/目录下,(如果没有该介质,请向笔者索要,网盘下载)创建挂载目录mkdir/mnt/apt挂载isomount/opt/Kylin-4.0.2-FT2000Plus.iso/mnt/apt2.修改本地源先备份本地源cp/et

    2022年6月3日
    315
  • Prophet调参[通俗易懂]

    Prophet调参[通俗易懂]本篇主要讲解实际运用中Prophet调参的主要步骤以及一些本人实际经验。一参数理解篇classProphet(object):def__init__(self,growth=’linear’,changepoints=None,n_changepoints=25,changepoint_range=0.8,yearly_seasona

    2022年6月16日
    111
  • 网页音乐播放器代码

    网页音乐播放器代码网页音乐播放器代码如果你也想往自己的博客里,网页里加入音乐播放器,只要复制下面的网页音乐播放器代码,做适当的修改就可以啦!有很多播放器可以选择,不要挑花眼哦!中true或1表示自动播放,false或0表示手动播放loop=”true”中的true或1表示重复播放,f

    2022年6月16日
    37

发表回复

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

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