11.20[JAVAEXP3]重定向细究【DEBUG】

设置了根域名访问为testServlet,让他重定向到首页为test.jsp,事实上也都触发了,但是最后显示的为什么不是test.jsp生成页面,依然还是index.jsp生成的页面??

重定向是通过Dispatcher进行的,而不是sendRedirect,会有影响吗?

        req.getRequestDispatcher("test.jsp").forward(req, resp);
[2024-11-20 02:08:24,706] 工件 mavenFinal: 工件已成功部署
[2024-11-20 02:08:24,706] 工件 mavenFinal: 部署已花费 974 毫秒
Session created: 68E11A7B6708B9A40D7618F6FACFE666
Active sessions: 1
index.jsp had been touch!!!
Session created: 4779DFD02DD214D2FD8D8DB472BDC34A
Active sessions: 2
index.jsp had been touch!!!
Session created: 3E9C28768C9EBC36543B7BFCB44C9B4D
Active sessions: 3
index.jsp had been touch!!!
the test servlet had been touch
test.jsp has been touch!!!

服务器运行时,初始的这三个session连接是怎么回事?

index.jsp had been touch!!!
the test servlet had been touch
test.jsp has been touch!!!

再次访问域名时,访问信息依次如上所述,test.jsp既然是最后访问到的,为什么不会覆盖Indwx.jsp?再或者,为什么会访问index.jsp(此时welcome并没有配置)?

如果没有配置 web.xml 的url的映射顺序,而是分散在各个servelt当中,以@WebServlet("/")的形式定义映射方式,那么url的处理顺序是怎样的?

并不是url的处理顺序问题导致的

能否禁用web的默认welcome-list?使其访问域名时默认不渲染任何页面?而是经由servlet处理后才行?

package filter;import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;@WebFilter("/*")
public class LoginFilter implements Filter {@Overridepublic void init(FilterConfig filterConfig) throws ServletException {// 初始化过滤器}@Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)throws IOException, ServletException {HttpServletRequest httpRequest = (HttpServletRequest) request;HttpServletResponse httpResponse = (HttpServletResponse) response;// 获取会话HttpSession session = httpRequest.getSession(false);// 检查会话是否存在并且用户已登录if (session != null && session.getAttribute("user") != null) {// 用户已登录,放行请求chain.doFilter(request, response);} else {// 用户未登录,重定向到登录页面httpResponse.sendRedirect(httpRequest.getContextPath() + "/login.jsp");}}@Overridepublic void destroy() {// 销毁过滤器}
}

不应该是从客户端发来的cookie当中找到session的id,服务端再依据sessionId去查找对应的session吗?为什么会直接从request当中获取session?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/35457.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

YOLOv11模型改进-注意力-引入卷积和注意力融合模块(CAFM) 提升小目标和遮挡检测

本篇文章将介绍一个新的改进机制——卷积和注意力融合模块CAFM,并阐述如何将其应用于YOLOv11中,显著提升模型性能。首先,CAFM是为了融合卷积神经网络(CNNs)和 Transformer 的优势,同时对全局和局部特征进行…

APM装机教程(五):测绘无人船

文章目录 前言一、元生惯导RTK使用二、元厚HXF260测深仪使用三、云卓H2pro遥控器四、海康威视摄像头 前言 船体:超维USV-M1000 飞控:pix6c mini 测深仪:元厚HXF160 RTK:元生惯导RTK 遥控器:云卓H12pro 摄像头&#xf…

基于MinIO打造高可靠分布式“本地”文件系统

MinIO是一款高性能的对象存储服务,而S3协议是由亚马逊Web服务(AWS)制定的一种标准协议,用于云存储服务之间的数据交换。MinIO与S3协议的关系在于,MinIO实现了S3协议的接口,这意味着用户可以使用与AWS S3相同…

Luma 视频生成 API 对接说明

Luma 视频生成 API 对接说明 随着 AI 的应用变广,各类 AI 程序已逐渐普及。AI 已逐渐深入到人们的工作生活方方面面。而 AI 涉及的行业也越来越多,从最初的写作,到医疗教育,再到现在的视频。 Luma 是一个专业高质量的视频生成平…

基础算法——搜索与图论

搜索与图论 图的存储方式2、最短路问题2.1、Dijkstra算法(朴素版)2.2、Dijkstra算法(堆优化版)2.3、Bellman-Ford算法2.4、SPFA求最短路2.5、SPFA判负环2.6、Floyd算法 图的存储方式 2、最短路问题 最短路问题可以分为单源最短路…

Online Monocular Lane Mapping

IROS 2023 港科大 文章链接:http://arxiv.org/abs/2307.11653 github:GitHub - HKUST-Aerial-Robotics/MonoLaneMapping: Online Monocular Lane Mapping Using Catmull-Rom Spline (IROS 2023) 动机 摆脱高精地图,使用车端的传感器来实现车端…

29.两数相除 python

两数相除 题目题目描述示例 1:示例 2:提示:题目链接 题解解题思路python实现代码解释提交结果 题目 题目描述 给你两个整数,被除数 dividend 和除数 divisor。将两数相除,要求 不使用 乘法、除法和取余运算。 整数除法应该向零截断&#x…

MicroBlaze软核开发(二):GPIO

实现功能:使用 MicroBlaze软核,配置GPIO用拨码开关控制LED灯 Vivado版本:2018.3 目录 引言 vivado部分: 一、配置GPIO 二、生成HDL文件编译 SDK部分: 一、导出硬件启动SDK 二、新建应用程序工程 三、编写程序代…

sdk项目的git 标记新tag的版本号

在 Git 中,tag 是用来标记某个特定的提交点(通常是发布版本或重要的里程碑)的工具。通过 git tag,你可以为版本号创建标记,帮助团队跟踪不同版本的代码。 如果你想创建一个新的版本号标签,可以按照以下步骤…

40分钟学 Go 语言高并发:服务注册与发现

服务注册与发现 一、系统架构设计 让我们先通过流程图了解服务注册与发现的整体架构: 二、核心组件实现 1. 服务注册中心 package discoveryimport ("context""sync""time" )// ServiceInstance 服务实例 type ServiceInstance…

〔 MySQL 〕索引

目录 1. 没有索引,可能会有什么问题 2. 认识磁盘 MySQL与存储 先来研究一下磁盘: 在看看磁盘中一个盘片​编辑 扇区 定位扇区​编辑 结论 磁盘随机访问(Random Access)与连续访问(Sequential Access) 3. MySQL 与磁盘交互基本单位 4. 建立共识…

微信小程序里的小游戏研发需要什么技术栈

研发小程序里的小游戏通常需要以下技术栈: 前端技术 HTML5 / CSS3:用于构建游戏的界面布局和样式。JavaScript:作为核心编程语言,实现游戏的逻辑和交互。小程序开发框架:如微信小程序的开发框架,了解其 API…

php 生产者-消费者实现

一、项目背景 mes报工需求,原项目接口接收产线上位抛来的数据,处理无误后存储在本地,最后抛给工厂接口。 但是有时候工厂数据响应太慢,也导致mes响应给上位变慢,拖慢了mes系统。 现要求,将原接口中抛给工厂…

SpringBoot 解决跨域问题

SpringBoot 解决跨域问题 遇到前端跨域访问问题,类似于这样的: 在Springboot项目里加上这个配置文件CorsConfig.java,重启之后即可实现跨域访问,前端无需再配置跨域。 1、添加跨域工具包CorsConfig 2、写跨域代码 import org.sp…

IO基础(缓冲流)

FileInputStream、FileOutputStream、FileReader、FileWriter属于基础流。 缓冲流是高级流。能够高效的处理数据。原理:底层自带了长度为8192的缓冲区提高性能 字节缓冲流:BufferedInputStream、BufferedOutputStream 字符缓冲流:Buffered…

云数据库 Memcache

Memcached 是一个高性能的分布式内存缓存系统,主要用于加速动态网页应用的访问速度,通过减少数据库查询次数来提高系统性能。Memcached 将常用的数据存储在内存中,因此提供了非常快速的读取和写入操作,通常用于缓存热点数据&#…

高转化的Facebook广告文案的秘诀

Facebook 广告文案是制作有效 Facebook 广告的关键方面。它侧重于伴随广告视觉元素的文本内容。今天我们的博客将深入探讨成功的 Facebook 广告文案的秘密! 一、广告文案怎么写? 正文:这是帖子的正文,出现在您姓名的正下方。它可…

算法基础学习Day2(双指针)

文章目录 1.题目2.题目解答1.快乐数题目及题目解析算法学习代码提交 2.题目2题目及题目解析算法学习代码提交 1.题目 202. 快乐数 - 力扣(LeetCode)11. 盛最多水的容器 - 力扣(LeetCode) 2.题目解答 1.快乐数 题目及题目解析 …

Web3与人工智能的跨界融合:数据隐私与去中心化的新机遇

随着Web3和人工智能(AI)技术的不断发展,两者的结合正在成为未来互联网的重要趋势。Web3代表着去中心化的未来,AI则提供了强大的智能化能力。当这两者结合时,不仅为数据隐私保护提供了新的解决方案,还推动了…

DevOps系统设计和技术选型

命名是一件痛苦的事情,除非你不想要一个好名字。 我正在做的这个管理系统叫什么合适,或者是什么类型的系统,想去想来不知所措,后来想想这么小的东西纠结什么,先从小的细节一点点来,能用就行,就用…