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

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

约定前后端交互接口


这里约定请求是一个 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模板网!

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

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

相关文章

  • 博客系统的页面设计

    博客列表页 博客详情页 博客登录页 博客编辑页 主要分成四个页面: 博客列表页 显示出都有哪些博客 博客详情页 展示博客的详细正文 博客登录页 进行登录操作 博客编辑页 有一个 markdown 编译器,可以编写博客内容 在这里,我们在给body设计背景图 但是此时body的高度是0 需要给

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    2024年02月12日
    浏览(16)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包