首页 > 其他分享 >短视频商城系统,session和cookie实现登录

短视频商城系统,session和cookie实现登录

时间:2024-01-13 11:46:09浏览次数:28  
标签:username index String 登录 request session cookie 商城

短视频商城系统,session和cookie实现登录

项目准备
1.登录页面的login.html
2.主页index.html
3.处理登录的方法
4.获取session中数据的方法
5.过滤器

登录页面
在static目录下新建一个文件叫做login.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <form action="http://localhost:9090/study/login" method="post">
        <input type="text" name="username"/>
        <input type="password" name="password">
        <input type="submit" value="登录">
    </form>
</body>
</html>

 

登录逻辑处理
通过request获取到登录输入的用户名和密码,这里不做校验,直接把用户名放到session当中,然后重定向到index.html。

@PostMapping("/login")
public void userLogin (HttpServletRequest request, HttpServletResponse response) {
    String username = request.getParameter("username");
    String password = request.getParameter("password");
    HttpSession httpSession = request.getSession();
    httpSession.setAttribute("username", username);
    response.sendRedirect("index.html");
}

 

主页
在index.html页面中通过点击获取用户名获取username的值

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<a href="http://localhost:9090/study/index">获取用户名</a>
</body>
</html>

 

从session中获取值

@GetMapping("/index")
public String index(HttpServletRequest request, HttpServletResponse response) {
    HttpSession session = request.getSession();
    return (String) session.getAttribute("username");
}

 

过滤器
过滤器,用于判断用户是否登录,即是否从session中能获取到用户名称,如果能获取到说明用户是登陆了的,如果不能就跳转到登录页面。

@Component
@WebFilter(filterName="LoginFilter",urlPatterns="/*")
public class LoginFilter implements Filter {
    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        HttpServletRequest req = (HttpServletRequest) servletRequest;
        HttpServletResponse res = (HttpServletResponse) servletResponse;

        String path = req.getServletPath();
        if (!StringUtils.equals("/login", path) && !path.contains("html")) {
            HttpSession session = req.getSession();
            String username = (String)session.getAttribute("username");
            if (StringUtils.isEmpty(username)) {
                res.sendRedirect("login.html");
            }
        }
        filterChain.doFilter(servletRequest, servletResponse);
    }
}

 

以上就是短视频商城系统,session和cookie实现登录, 更多内容欢迎关注之后的文章

标签:username,index,String,登录,request,session,cookie,商城
From: https://www.cnblogs.com/yunbaomengnan/p/17962168

相关文章

  • Java set-cooike cookie.setDomain错误
    javacookie.setDomain(".test.com");错误Therewasanunexpectederror(type=InternalServerError,status=500).Aninvaliddomain[.test.com]wasspecifiedforthiscookiepublicvoidsetCookie(HttpServletResponseresponse,Stringtoken){/......
  • 基于JAVA的校园电子商城
    网络技术和计算机技术发展至今,已经拥有了深厚的理论基础,并在现实中进行了充分运用,尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代,所以对于信息的宣传和管理就很关键。因此校园购物信息的管理计算机化,系统化是必要的。设计开发校园电子商城不仅会节约......
  • 面试官:禁用Cookie后Session还能用吗?
    Cookie和Session是Web应用程序中用于保持用户状态的两种常见机制,它们之间既有联系也有区别。Cookie是由服务器在HTTP响应中发送给客户端(通常是浏览器)的一小段数据。客户端将这些信息保存在本地,并在后续的请求中自动将其发送回服务器。而Session是在服务器端创建的一......
  • 【五期李伟平】CCF-A(MobiCom'18 Session EdgeTech'18)A Game-Theoretic Approach to Mu
    Zafari,Faheem,etal."AGame-TheoreticApproachtoMulti-ObjectiveResourceSharingandAllocationinMobileEdgeClouds."(2018).  为了缓解移动边缘计算中资源稀缺问题,本文建议在多个边缘计算服务提供商之间共享资源,并将资源分配和共享问题建模为多目标优化......
  • 【Django开发】美多商城项目第2篇:Django用户注册和登录开发(附代码,已分享)
    本系列文章md笔记(已分享)主要讨论django商城项目相关知识。项目利用Django框架开发一套前后端不分离的商城项目(4.0版本)含代码和文档。功能包括前后端不分离,方便SEO。采用Django+Jinja2模板引擎+Vue.js实现前后端逻辑,Nginx服务器(反向代理)Nginx服务器(静态首页、商品详情页、uwsgi......
  • BootStrap实现商城注册页面前端效果------商城项目前端
    <!DOCTYPEhtml><html> <head> <metacharset="utf-8"> <title></title> <scriptsrc="jquery/jquery-3.6.1.js"type="text/javascript"></script> <!--引入bootstrap--> ......
  • 项目经验还写外卖和商城?来看看异构数据源数据流转服务DatalinkX
     前言作为一个年迈的夹娃练习生,每次到了春招秋招面试实习生时都能看到一批简历,十个简历里得有七八个是写商城或者外卖项目。不由得想到了我大四那会,由于没有啥项目经验,又想借一个质量高点的项目通过简历初筛,就找到了谷粒商城,面对408集的视频教程实在是难以坚持到终点。。。并且很......
  • 如何使用CORS来允许设置Cookie
    要在Vue客户端和Node服务器端之间启用跨域资源共享(CORS)以允许设置Cookie,您需要在两个地方进行适当的配置。下面是一个示例:在Vue客户端中:安装axios库(如果还没有安装):npminstallaxios在您的Vue项目的主入口文件(如main.js)中添加以下代码:importaxiosfrom'axios';axios.def......
  • 在Go语言中处理HTTP请求中的Cookie
    在Web开发中,Cookie是一种常用的技术,用于在客户端存储数据,并在随后的请求中发送回服务器。Go语言的标准库提供了强大的支持来处理HTTP请求中的Cookie。首先,让我们了解如何在Go语言中设置Cookie。以下是一个简单的示例,演示如何在HTTP响应中设置一个名为sessionID的Cookie:go复制代码pa......
  • 【Azure APIM】APIM 策略语句如何来设置多个Cookie值让浏览器保存
    问题描述在APIM的 <return-response>策略中,设置Cookie值,因为需要设置多个Cookie值,使用下面两种方式都只能保存一个Cookie值:方式一:把多个cookie值用分号(;)拼接<return-response><set-statuscode="201"/><set-headername="Set-Cookie"exists-actio......