【web后端(九)】jsp、servlet_会话管理_session

Jakarta EE 实验 — Web 聊天室(Web Chatroom)开发(一) 摘要:本实验基于Jakarta Servlet技术开发了一个简易Web聊天室系统。项目采用Maven Webapp架构,使用Session管理用户状态,ServletContext实现应用级数据共享(在线用户列表和消息列表)。系统包含登录、聊天和退出功能,通过JSP页面展示界面,Servlet处理业务逻辑。实验重点演示了Session的生命周期管理(自动超时和手动销毁)、请求转发与重定向的区别,以及web.xml的配置方法。系统采用Tomcat服务器运行,数据非持久化,消息通过页面刷新实现广播。该实验完整实 阅读详情

session:

session是服务器端的一个集合,可以存储任何东西。session最重要的特性,就是可以识别用户。

例如,我们去电影院看电影。工作人员是凭借客户手里的票来识别客户的。但是,对于工作人员来说,他们并不知道客户的身份信息。

一般情况下,session是和cookie结合起来去存储东西的。也就是说,如果cookie不被允许存到客户端,session就用不了。

 

红框里的信息就相当于电影院给顾客发的票:

这张票是一个临时cookie,而它的值就叫做sessionID。

                                   

 

第一次请求session对象时:第一次请求session对象时,客户端是没有session的,需要创建一个session。且这个session可以一直用到它的存储时间限制,才会消失。 代码中的前两种取对象方式并不能取到数据,需要用后两种。

 

特殊情况:1、session在客户端关闭页面后就会被消除。2、当一个session没人用的时候,也会客户端被关闭

 

过期后:而大当我们的session过期的时候,服务器在根据地质找不到的时候,就会发送一个“当前页面已过期,请重新提交。”的提示。

 

Session2Servlet(结算页面)

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;

@WebServlet(name = "Session3Servlet",urlPatterns = "/session3")
public class Session2Servlet extends HttpServlet {

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        HttpSession session = request.getSession();//取出session
        response.getWriter().println(request.getAttribute("goods1"));
        response.getWriter().println(request.getAttribute("goods2"));
        response.getWriter().println(session.getAttribute("goods1"));
        response.getWriter().println(session.getAttribute("goods2"));
    }
}

                                   

 

 

SessionServlet

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;

@WebServlet(name = "SessionServlet",urlPatterns = "/session1")
public class SessionServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        HttpSession session = request.getSession();//取出session
        //设置session过期时间
        session.setMaxInactiveInterval(20*60);
//        session.getId();
        //销毁session的方法
//        session.invalidate();
        //获得session的创建时间
        session.getCreationTime();
        //获得session最后一次被使用的时间
        session.getLastAccessedTime();
        session.setAttribute("goods1","Scoat");
        request.setAttribute("goods1","Scoat");
    }
}

 

 

Session1Servlet

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;

@WebServlet(name = "Session1Servlet",urlPatterns = "/session2")
public class Session1Servlet extends HttpServlet {

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        HttpSession session = request.getSession();//取出session
        session.setAttribute("goods2","Computer");
        request.setAttribute("goods2","Computer");
    }
}

 

基于Java Web的购物网站全栈开发实战(Servlet+JSP) Java Web作为企业级应用开发的重要分支,广泛应用于各类在线系统中,尤其在电子商务平台的构建中占据核心地位。本章将从整体视角出发,系统介绍Java Web的基本概念、发展脉络及其在现代Web开发中的定位。重点阐述基于B/S架构的运行机制,解析浏览器与服务器之间的通信流程,并深入探讨Servlet容器(如Tomcat)的工作原理。虽然Bootstrap提供默认主题,但在实际项目中往往需要品牌化定制。可通过SCSS变量重写实现:// 自定义_variables.scss。 阅读详情

相关推荐

基于JSP+Servlet+JDBC+MySQL的Java Web项目实战

Java Web开发构建在B/S架构之上,通过HTTP协议实现浏览器与服务器的通信。Web容器(如Tomcat)负责解析请求、管理Servlet生命周期,并调度JSP页面生成动态内容。基于MVC模式,JSP承担视图展示,Servlet作为控制器处理业务逻辑,JDBC则实现与MySQL数据库的交互。graph LRA[客户端浏览器] --> B(HTTP请求)B --> C[Tomcat服务器]C --> D{Servlet控制器}D --> E[JSP页面]

weixin_26850469的博客 1065

session的使用

一、使用session的简单步骤获取HttpSession(request.getSession()方法)对象,查找与该会话相关的信息(session.getAttribute()),存储会话中的信息(session.setAttribute()),删除会话中的数据(session.removeAttribute()),删除当前会话(session.invalidate())在sessio

zjsjava的专栏 1400

基于JSP+Servlet+MySQL的注册登录系统设计与实现

回到,我们必须对每一个字段进行独立验证:// 用户名校验errors.add("用户名格式错误!");// 邮箱校验errors.add("邮箱格式不正确!");// 密码校验=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[@$!%*?errors.add("密码强度不足!");errors.add("两次密码不一致!");if (!return;// 继续注册逻辑...有几个关键点要注意:matches()

weixin_35916518的博客 787

JSP数据交互(一 session对象)

session对象JSP内置对象session对象什么是会话?session对象session对象实现权限控制会话的失效 JSP内置对象session对象 浏览器与web服务之间使用的是HTTP协议进行通信的,HTTP协议是一种基于请求/响应模式的无状态的访问协议。“无状态”就是指每一个HTTP请求都是独立的。服务器不会保存以往的请求和会话记录。因此当一个客户端发送请求到Web服务器时,无论第一次是否来访,服务器都会把它当成第一次来对待。而在实际开发过程中我们都希望能够识别已经访问的客户端,也就是一个用户的

雪落无痕的博客 782

基于JSP+JavaBean+Servlet的Java Web权限管理系统实战

你可能会问:“现在都2025年了,谁还用手写Servlet啊?确实,大多数项目早已迁移到Spring Boot + Thymeleaf/React/Vue的现代化架构。但掌握这套经典技术栈的价值在于:✅理解底层原理:你知道背后其实是Servlet吗?✅排查问题能力:线上报错怎么办?✅面试加分项:能讲清楚Filter和Interceptor的区别,你就赢了一半;✅轻量级替代方案:IoT设备、边缘计算场景下,原生方案反而更合适。

weixin_36204513的博客 1136

基于JSP与Servlet的音乐网站开发项目

MVC设计模式通过清晰的职责划分,显著提升了Web应用的可维护性和可扩展性。在音乐网站项目中,通过JSP作为View、Servlet作为Controller、JavaBean作为Model,可以有效组织代码结构,提高开发效率。同时,MVC也为后续引入Spring等框架打下坚实基础,是Java Web开发中不可或缺的设计思想。

weixin_36464343的博客 1175

java后台用session存储对象jsp页面取值

java后台用session存储对象jsp页面取值 如(session.setAttribute("user", user)) 如: 取 User 对象中的UserName jsp引入c标签<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 用el表达式获取${user.getUserName()} 注:这是User对象里的get方法 ...

Mr_Cwen的博客 1141

课堂派Java Web教学互动平台项目实战(JSP+Servlet)

Java Web教学互动平台是一个基于B/S架构的在线教学管理系统,旨在提升教学效率与师生互动体验。平台主要功能包括用户登录认证、学生信息管理、课程展示、成绩录入与查询、在线答疑等模块。其设计目标是实现功能模块清晰、界面友好、数据安全、易于维护与扩展。本平台采用经典的Java Web技术栈,包括JSP实现动态页面展示,Servlet处理业务逻辑与HTTP请求,结合MVC架构实现前后端分离设计,提升代码可维护性。同时,平台利用DAO模式进行数据库访问,保障数据层与业务层的解耦。

weixin_42126677的博客 823

JSP内置对象response、session对象

response对象 response对象和request对象相对应,用于相应客户请求,向客户端输出信息。response对象是Javax.servlet.http.HttpServletResponse接口类的对象,它封装了JSP产生的响应,并发送到客户端以响应客户端的请求。请求数据可以是各种数据类型,甚至是文件。 1、response可重定向网页 response.sendRedirect(“...

ifyouwjk的博客 429

Synares病毒实战:如何从U盘感染中恢复你的Excel和EXE文件(附专杀工具推荐)

本文详细介绍了Synares感染型病毒的典型特征与传播机制,特别是其通过U盘感染Excel和EXE文件的行为。文章提供了一套从应急隔离、诊断到使用专杀工具进行深度清除与文件恢复的完整实战流程,并推荐了有效的安全软件和修复方法,旨在帮助用户最大程度救回重要数据并构建长效安全防护习惯。

weixin_29230649的博客 1810

从透射谱到能量分布:用Rsoft破解光纤光栅耦合模式的3个关键技巧

本文面向光通信工程师与研究者,分享了利用Rsoft软件深入分析光纤光栅耦合模式的三个关键技巧。通过配置场监视器观察XY截面能量分布、利用传播动画追踪动态过程,并结合模式求解器精准判定相位匹配,帮助用户超越透射谱分析,直观可视化能量从纤芯到包层的耦合与流动,从而优化器件设计。

weixin_29290963的博客 420

JSP session对象

JSP session对象

m0_69505153的博客 1352

记录:N10激光雷达串口编程,将数据存进 SQLite,并进行 ROS2 - cartographer 单雷达建图

N10 系列采用 TOF(time of flight)测距原理,通过测量调制激光的发射、返回时间差来测量物体与传感器的相对距离。激光发射器发出调制脉冲激光,内部定时器开始 从t1时刻计算时间,当激光照射到目标物体后,部分能量返回,当雷达接收到返回的激光信号时,在t2时刻停止内部定时器计时,光速C,激光雷达到达物体的距离D为:经过N10系列激光雷达内嵌的信号处理单元的实时解算得到探测物体的距离值,结合高精度自适应角度测量模块输出的角度信息,可以得到量程内周围 360 度环境 的二维平面信息。

m0_74013893的博客 1096

JavaWeb01-Java Web开发入门:从Servlet到JSP

Java Web开发入门指南摘要:本文介绍了Java Web开发的基础知识,重点讲解Servlet和JSP的核心技术。内容涵盖环境搭建(JDK、Tomcat、IDEA)、Servlet基础知识(定义、工作原理、生命周期、请求响应处理)以及JSP技术。通过示例代码演示了如何创建第一个Servlet程序,并比较了Servlet与JSP的异同。文章为Java Web开发初学者提供了全面的入门指导,帮助开发者理解底层原理,为学习高级框架打下坚实基础。

千淘万漉虽辛苦,吹尽狂沙始到金 2万+

保姆级教程:用PCAN-View监控汽车CAN总线,从硬件连接到报文分析(附快捷键大全)

本文提供了一份详细的PCAN-View使用教程,涵盖从硬件连接到报文分析的全流程,特别适合汽车电子工程师和初学者。内容包括硬件准备、软件安装、核心功能操作、高级技巧及故障排查,并附有实用的快捷键大全,帮助用户高效监控和分析CAN总线数据。

weixin_42542669的博客 497

IEEE 754浮点数与十六进制转换:从原理到实战避坑指南

在计算机系统中,数据的二进制表示与内存布局是底层开发的核心基础。IEEE 754标准定义了浮点数在内存中的精确格式,包括符号位、指数位和尾数位的分工,以及零、无穷大和NaN等特殊值的编码。理解这一原理对于处理原始字节流至关重要,尤其是在涉及跨平台或跨设备通信时。其技术价值在于,它能帮助开发者从根本上解决数据解析错误、通信协议不一致以及程序调试中的“灵异”问题。在嵌入式开发、网络通信(如Modbus协议)和固件解析等应用场景中,浮点数与十六进制的转换是高频操作。然而,字节序(大端/小端)是转换过程中最常见的“

weixin_33835103的博客 429

java Servlet & JSP 中 会话管理(Cookie、Session)

文章摘要: HTTP协议本身无状态,但实际应用需要识别用户会话。Servlet/JSP提供两种主要会话管理机制:Cookie(客户端存储键值对,简单但不安全)和Session(服务端存储数据,安全但占用资源)。Cookie通过Set-Cookie/请求头自动传递,适合存储简单数据;Session依赖JSESSIONID标识,可存复杂对象,需注意内存管理和分布式同步。禁用Cookie时可使用URL重写传递SessionID。典型应用如登录验证,通过Session保存用户状态,Cookie则用于记住基础信息。两

DeppBing的博客,全栈修炼记|记录一个开发者的进化轨迹 576

AntV G6边动画实战:手把手教你实现数据流向箭头与虚线流动效果

本文详细解析了如何使用AntV G6实现数据流向箭头与虚线流动效果,通过自定义边动画提升数据可视化的动态表现力。从基础环境搭建到核心概念讲解,再到虚线流动动画和箭头路径动画的具体实现与参数调控,帮助开发者掌握G6边动画的高级技巧,适用于网络流量监控、数据传递等场景。

weixin_28487433的博客 264

Servlet+JSP(十):Session 学习

存储数据到 session 对象获取 session 对象获取数据从 session 对象如果获取 session 中不存在的数据返回 null。

2501_90252650的博客 983

【论文复现】——基于改进FPFH特征提取的点云模板匹配方法

基于改进FPFH特征提取的点云模板匹配方法 [J]. 应用激光, 2024, 44 (04): 196-204.

点云侠的博客 611

VSCode + QMT 量化交易完整解决方案!

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 1327

JSP Session

本文介绍了JSP中Session的概念及使用方法。Session是用于服务器端跟踪用户状态的机制,通过HttpSession对象实现键值对数据存储。主要内容包括: Session的特点:服务器端存储、临时性、键值对结构、默认启用 核心方法:setAttribute()、getAttribute()、removeAttribute()等 使用示例: 基本会话管理(登录状态) 结合HashMap存储复杂数据 与jQuery find()配合实现动态表单 使用setInterval()实时显示会话数据 模拟Pyt

m0_57545130的博客 1016

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

web基础Servlet与jsp

Web开发入门 引入 之前的程序: java桌面程序,控制台控制,socket gui界面。javase规范 现在和以后的程序:java web程序。浏览器控制。javaee规范 软件的结构 C/S (Client - Server 客户端-服务器端) 典型应用:QQ软件 ,飞秋,红蜘蛛。 特点: 1)必须下载特定的客户端程序。 2)服务器端升级,客户端升级。 **B/S (Broswe...

HMing的博客 2144

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Servlet与JSP——Java Web(一)

1、页面请求的工作流程是怎样的 一个Web应用程序一般都是由客户端程序与服务器端程序两部分组成。其中,客户端主要是指用户和浏览器,用户可以通过浏览器查找所需的资源,而这些资源则位于服务器上。浏览器是一个工具软件,它主要有两个作用:是完成与服务器端的交互;二是完成HTML(Hyper-Text Markup Language,超文本标记语言,用来告诉浏览器怎样给用户展示内容)的解析,从而实现...

复制乔布斯 3769

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

后端入门指南:从 Servlet 到数据库交互,搭建你的 “后台大脑”

这篇博客介绍了后端开发的核心知识,适合初学者入门。主要内容包括:1)Tomcat服务器的安装配置与项目部署;2)Servlet处理HTTP请求的完整流程与示例代码;3)HTTP协议基础与请求/响应格式;4)Cookie和Session实现会话管理;5)JSP简化页面开发;6)JDBC连接MySQL数据库实现CRUD操作。文章采用"概念+实操"的方式,每个知识点都配具体代码示例,帮助读者从环境搭建到功能实现逐步掌握后端开发技能。建议先理解基础原理,通过小项目串联知识点,再逐步过渡框架学习。

a15585391608的博客 1320

有关session的使用(jsp/servlet)

众所周知,在JSP页面上可直接通过session.setAttribute(name,object)设置session,可如果想在servlet使用session 的话,就和在JSP有点区别了。在servlet中通过HttpSession session=request.getSession(boolean create);得到一个session对象(准确来说,得到的应该是一个HttpS...

161
上一篇: 【web后端(八)】jsp、servlet_会话管理_cookie
下一篇: 【web后端(十)】jsp、servlet_会话管理_servletContext
寻爻青年
博客等级 码龄8年 27粉丝 137原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寻爻青年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值