Servlet账户登陆优化

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

主要升级:

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

讲解:

dologin的响应

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

Servlet账户登陆优化

效果:
Servlet账户登陆优化

dologin对POST请求正常处理,原因是重写了servlet。
代码如下:
Servlet账户登陆优化

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

登陆成功后

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

效果:
Servlet账户登陆优化

Servlet账户登陆优化

Servlet账户登陆优化

实现代码如下:
Servlet账户登陆优化

logout退出登陆

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

效果:
Servlet账户登陆优化

Servlet账户登陆优化

实现代码:
Servlet账户登陆优化

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