博客系统后端设计(五) - 实现登录页面功能

这篇具有很好参考价值的文章主要介绍了博客系统后端设计(五) - 实现登录页面功能。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

约定前后端交互接口


这里约定请求是一个 POST 请求,路径是 /login,使用的是以下的格式:
usernam=zhangsan&password=123


响应是 HTTP/1.1 302,因为在成功登录之后,会直接跳转到列表页,
因此此时的 Locationblog.list.html

此时的响应要求是 302,因此要使用 form 表单才可以进行页面的跳转;
如果是 ajax 请求,响应是 302 就无法进行跳转了,因为本身不会触发。

修改前段代码


把页面里加上 form 表单,使点击登录的操作能够触发请求。

博客系统后端设计(五) - 实现登录页面功能

上述图片圈出的就是要修改的地方。

博客系统后端设计(五) - 实现登录页面功能
可以看到上面两个结果是对应起来的。

博客系统后端设计(五) - 实现登录页面功能

以上就对应了前端代码中 form 标签里的 actionmethod 属性。

修改后端代码


要先创建一个新的类,起名可以为 loginServlet

博客系统后端设计(五) - 实现登录页面功能

上面圈出的是和之前约好的是一样的。


1.读取参数中的用户名和密码

 String username = req.getParameter("username");
 String password = req.getParameter("password");
 if (username == null || "".equals(username) || password == null || "".equals(password)) {
     // 登录失败
     String html = "<h3>登录失败。缺少用户名或者缺少密码!!!</h3>";
     resp.getWriter().write(html);
     return;
 }


需要注意的是:

如果用户名或者密码包含中文,此时就有可能乱码!!! 此时要设置请求的编码,告诉 Servlet 按照什么格式来理解请求。

 // 设置请求的编码,告诉 Servlet 按照什么格式来理解请求
 req.setCharacterEncoding("utf8");



2.读数据库,看看用户名是否存在,并且密码是否匹配

UserDao userDao = new UserDao();
User user = userDao.selectByUsername(username);
if (user == null) {
    // 用户不存在
    String html = "<h3>登录失败,用户名或密码错误!!!</h3>";
    resp.getWriter().write(html);
    return;
}
if (!password.equals(user.getPassword())) {
    //  密码不匹配
    String html = "<h3>登录失败,用户名或密码错误!!!</h3>";
    resp.getWriter().write(html);
    return;
}



3.用户名密码验证成功,登陆成功,接下来开始创建会话,使用该会话保存用户信息

HttpSession session = req.getSession(true);
session.setAttribute("user", user);


这里 ture 的意思是,存在就查询,不存在就创建新的。

4.进行重定向,跳转到指定的博客列表页

resp.sendRedirect("blog.list.html");


这里的 sendRedirect 方法参数是 列表页的字符串。

登录测试


在数据库中插入几个数据

在 db.sql 文件中,实现以下代码,但是还是需要复制到数据库中去执行,
因为这里的 db.sql 仅仅是相当于是一个记事本的作用。

-- 构造登录页测试数据
insert into user values(1, 'zhangsan', 123);
insert into user values(1, 'lisi', 123456);


博客系统后端设计(五) - 实现登录页面功能

博客系统后端设计(五) - 实现登录页面功能

此时点击登录就可以登录到列表页了。文章来源地址https://www.toymoban.com/news/detail-449347.html

到了这里,关于博客系统后端设计(五) - 实现登录页面功能的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 博客系统(页面设计)

    博客系统(页面设计)

    目录 一、学习计划 二、前期工作 三、列表页设计(重点掌握) 1.设计背景图 1.1 common.css 2. 编写导航栏 2.1 image 2.2 blogging.html 2.3 common.css 3. 实现页面的正文(版心) 3.1 blogging.html 3.2 common.css 4. 实现个人信息 4.1 blogging.html 4.2 common.css 代码 5.实现博客列表 5.1 blogging.html 5.2

    2024年02月04日
    浏览(11)
  • 博客管理系统(前端页面设计)

    博客管理系统(前端页面设计)

    博客登录页: 博客列表页: 博客详情页: 博客编辑页: 目录结构: 大家需要注意,我们下述代码的所有路径都是依赖该目录结构的,如果大家的目录结构不一致就需要改代码中的路径 我们可以发现导航栏每个页面都有,所以我们将导航栏的样式单独放在一个common.css,然后

    2023年04月17日
    浏览(21)
  • Android前端+Spring Boot后端 登录功能实现

    Android前端+Spring Boot后端 登录功能实现

    创建项目后,自己添加包,框架如下   userController里的一些内容,只供参考,代码不全,无法实现 数据库是直接在社区版IDEA里连接Mysql,在控制台端创建的数据库和user表,用于数据交互。 Activity包里是Activity Java类,主要响应layout包里activity_login.xml等页面布局内的按钮响应 a

    2024年02月12日
    浏览(15)
  • JavaEE-博客系统3(功能设计)

    JavaEE-博客系统3(功能设计)

    本部分内容为:实现登录功能;强制要求用户登录;实现显示用户信息;退出登录;发布博客 该部分的后端代码如下: 该部分的后端代码如下: 该部分的后端代码如下: 上述过程的后端代码如下: 上述过程的后端代码如下:

    2024年02月05日
    浏览(8)
  • 登录和注册页面 - 验证码功能的实现

    登录和注册页面 - 验证码功能的实现

    目录 1. 生成验证码 2. 将本地验证码发布成 URL 3. 后端返回验证码的 URL 给前端 4. 前端将用户输入的验证码传给后端 5. 后端验证验证码 使用hutool 工具生成验证码. 1.1 添加 hutool 验证码依赖 1.2 创建验证码的控制器  application.propertities 中添加验证码保存路径 ( 末尾一定要带斜杆

    2024年02月15日
    浏览(8)
  • Vue+SpringBoot项目开发:登录页面美化,登录功能实现(三)

    Vue+SpringBoot项目开发:登录页面美化,登录功能实现(三)

    上一章写了从零开始Vue+SpringBoot后台管理系统:Vue3+TypeScript项目搭建 Vue+TypeScript的前端项目已经搭建完成了 这一章的内容是引入element-plus和axios实现页面的布局和前后端数据的串联,实现一个登陆的功能,跳转到首页 现在前端项目的一个结构目录 在src/main.js中加入element-plus

    2024年02月13日
    浏览(9)
  • uniapp 开发H5页面,实现语音识别功能--前端,不包含后端转换

    一、背景 微信小程序开发,内嵌h5页面,不能调用微信内部的插件 二、实现方式 通过安装  js-audio-recorder  插件实现既定需求 三、具体步骤 1、安装插件 npm i js-audio-recorder 2、引入 在需要使用的页面中引入:import Recorder from \\\'js-audio-recorder\\\'; 3、具体配置

    2024年04月13日
    浏览(12)
  • Python 程序设计-系统登录页面设计

    Python 程序设计-系统登录页面设计

    系统要有管理员登录、普通用户登录和退出三个选项可供选择 系统要能够实现登入出错提示,比如账户密码错误等,用户信息保存在user目录下的文件夹中,存储在user.csv中 系统要能够进行欢迎界面显示,登录成功后显示该页面。 系统要能够有写入信息功能,当用户或管理员

    2024年02月09日
    浏览(42)
  • 聊天系统登录后端实现

    聊天系统登录后端实现

    定义返回的数据格式 默认头像 存储头像的文件 app.py 说明:这里做成轻量级的,数据不存储在数据库中,存储在内存中 后端 登录完整代码

    2024年02月14日
    浏览(7)
  • 项目实战 — 博客系统③ {功能实现}

    项目实战 — 博客系统③ {功能实现}

    目录  一、编写注册功能 🍅 1、使用ajax构造请求(前端) 🍅 2、统一处理         🎄 统一对象处理         🎄 保底统一返回处理          🎄 统一异常处理  🍅 3、处理请求 二、编写登录功能  🍅 1、使用ajax构造请求 🍅 2、处理请求         🎄 创建实体类    

    2024年02月12日
    浏览(10)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包