javaweb session对象

1.什么是回话
一个回话就是浏览器与服务器之间的一次通话,包含浏览器与服务器之间的多次请求、响应过程.session对象用来存储有关用户的所有信息.

2.利用回话机制实现访问控制
访问控制实例:下载电子书时,系统会提示用户登录

3.session对象常用方法
在这里插入图片描述
4.session与窗口的关系
每个session对象都与浏览器一一对应,重新开启一个浏览器,相当于重新创建一个session对象;通过超链接打开新窗口,新窗口的session与其父窗口的session相同.

5.我们开始创建session实现访问控制

(1)创建Web项目SessionDemo和User实体类
在这里插入图片描述
(2).修改web目录首页的index.jsp
在这里插入图片描述
(3).创建登录页面login.jsp
在这里插入图片描述
代码如下

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>用户登录</title>
</head>
<body>
<form action="do_login.jsp" method="post">
    <table border="1" cellpadding="10" style="margin: 0px auto">
        <tr>
            <td align="center">用户名</td>
            <td><input id="uname" type="text"  name="username"></td>
        </tr>


        <tr>
            <td align="center">密码</td>
            <td><input id="upwd" type="password" name="password"></td>
        </tr>
        <tr  align="center">
            <td colspan="2">
                <input type="submit" value="提交">
                <input type="reset"  value="重置">
            </td>
        </tr>
    </table>
</form>
        String errMsg= (String) session.getAttribute("errMsg");
        if (errMsg !=null){
        out.print("<script>alert('"+errMsg+"')</script>");
        }
</body>

(4)处理登录页面do_login.jsp
在这里插入图片描述
代码如下

<%@ page import="net.ysy.bean.User" %><%--
  Created by IntelliJ IDEA.
  User: lenovo
  Date: 2020/3/31
  Time: 21:13
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>登录跳转页面</title>
</head>
<body>
<%
    request.setCharacterEncoding("utf-8");
    //获取登录表单信息
    String username=request.getParameter("username");
    String password=request.getParameter("password");

    //判断登录用户名和密码
    if (username.equals("佳宁") && password.equals("666")) {
        //创建用户对象
        User user=new User();
        //设置用户对象属性
        user.setUsername(username);
        user.setPassword(password);
        //将登录用户信息保存到session里
        session.setAttribute("LOGINED_USER",user);
        //清除session里的errMsg属性
        if (session.getAttribute("errMsg")!=null){
            session.removeAttribute("errMsg");
        }
        //采用重定向,跳转到首页
        response.sendRedirect("index.jsp");
        }else{
        //在session里创建errMsg属性
        session.setAttribute("errMsg","用户名或者密码错误,请重新登录");
        //采用从定向,跳转到登录页面
        response.sendRedirect("login.jsp");
    }

%>

</body>
</html>

(5)创建添加新闻页面,增加登录验证.
在这里插入图片描述
(6).启动服务器查看效果
在这里插入图片描述
(7)访问登录页面
在这里插入图片描述
(8)跳转登录成功成功
在这里插入图片描述
(9).重启服务器,我们直接访问add_news新闻页面,会弹出消息框
在这里插入图片描述
如果出现乱码问题,我们需要在do_login.jsp指定utf-8编码.

Cookie与sesion的比较
1.session是在服务器保存用户信息,Cookie是在客户端保存用户信息
2.session中保存的是对象,Cookie保存的是字符串
3.session随回话结束而关闭,Cookie可以长期保存在客户端
4.Cookie通常用于保存不重要的用户信息,重要的信息使用session保存.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaWeb是一种基于Java语言的Web开发技术,它为开发人员提供了很多方便和实用的API和工具,其中就包含了cookie和session对象,用于实现网站的购物车功能。 首先,cookie对象是一种存储在客户端浏览器中的数据结构,它可以用来保存一些与用户相关的信息,如用户名、密码、购物车商品ID等等。购物车功能的实现就可以通过cookie来存储用户的购物车数据。对于每个添加的商品,我们可以将其ID和数量用逗号隔开,然后用一个字符串表示整个购物车的信息,再将这个字符串存储在cookie中。当用户访问购物车页面时,我们就从cookie中获取购物车信息,并解析出每个商品的ID和数量,然后在页面上展示出来。 但是,cookie对象也有一些限制,比如数据量不能太大(通常不超过4KB),并且存储在客户端的数据可能被篡改或者丢失,因此在实现购物车功能时,我们还需要使用session对象来辅助。 session对象是一种存在服务器端的数据结构,它可以用来保存用户的登录状态、购物车信息等数据。在购物车功能中,我们可以通过session对象来保存用户的购物车信息。当用户第一次添加商品时,我们就创建一个session对象,并将购物车信息存储在其中。每次用户访问购物车页面时,我们就从session对象中获取购物车信息,并将其展示在页面上。与cookie不同的是,session对象所存储的数据不会暴露在客户端浏览器中,因此更加安全。 总的来说,JavaWeb的cookie对象session对象都可以用来实现购物车功能,但是它们各有优缺点,需要根据具体场景进行选择。在实际开发中,我们可以根据业务需求和性能要求选择合适的方案,来实现一个高效、安全、可靠的购物车功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值