web工程中登录注册功能的实现

我们访问一个网站时常常会让你先注册,然后登录再来访问一些页面,没错,那么这些是怎么实现的呢?小编来跟大家说一下:

首先:浏览器是怎么知道你没登录呢?

当你点完一个超链接时,浏览器向服务器发送请求,请求跳转到目标界面,但是请求会先到达工程下的servlet,servlet会访问服务器的session域,看一下是否存在登录的用户对象,如果存在,则跳转到目标界面,如果不存在即该对象等于null,则提示你先登录。

当你注册的时候输入昵称或者用户名,输入框提示你输入的昵称或者用户名可用,就像你注册126等邮箱的时候,输入注册的邮箱名,刚想填密码,密码框上方出现一个提示信息,该邮箱可用,或者该邮箱已经存在,这是怎么做到的呢?

其实很简单,这里用到了ajax技术,当你访问的注册页面加载时,给用户名输入框绑定一个离焦事件,当你的光标一离开邮箱名输入框,就用ajax技术向服务器发送请求,请求内容包括输入框的name属性和你输入的值,请求到达servlet,servlet就调用业务层相关方法,进行事务的操作。而后调用dao层,查询数据库中是否已经存在该邮箱名,如果有就返回到业务层,业务层将结果再返回到servlet层,servlet在响应给浏览器,浏览器再进行提示。

其实上述原理是挺简单的,但是相关的实现就比较复杂了,这里不再赘余。

咱们说一下登录和退出登录状态的实现:

登录和退出登录是通过session域实现的,当服务器启动起来的即创建session域,登陆后将登陆的用户的相关信息封装到一个用户对象中,扔到session域,在浏览器中通过jstl中的c:if标签来选择性显示,test="$" 即显示登录注册,test="$"即显示退出登录、等,言外之意,已经登录。

此文章为“一首凉凉”原创,特此声明!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180526G0MO6200?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券