Servlet配置、会话管理——Servlet【总结】

2023-11-06

Servlet配置

初始化参数

      Servlet除了可以从请求信息中获取信息外,还可以从配置文件中获取配置参数信息。配置文件中的参数信息与具体的请求无关,而是Servlet初始化时调用的,如此可以避免硬编码信息,提高Servlet的可移植性。配置参数保存在ServletConfig对象中,该对象对任何客户端访问有效,但一个Servlet的ServletConfig对象不能被其它Servlet访问。

URL模式

      在Servlet配置中,除了初始化参数外,还要配置Servlet对应的URL地址信息,又称为URL模式,同一个Servlet可以被映射到多个URL地址上。遵守两种固定格式:*.url 或者 /url/* 。

默认Servlet

      默认Servlet用于处理所有其他Servlet都不处理的访问请求,即当前Web应用上下文找不到匹配的组件的URL,它们的访问请求都交给默认Servlet处理。

会话管理

       在Web服务器看来,一个会话是由在一次浏览过中所发出的全部HTTP请求组成的。换句话说,一次会话是从客户打开浏览器开始到关闭浏览器结束。记录会话信息的技术称为会话跟踪,会话跟踪如何唯一识别每一个客户会话?只能通过为每一个客户分配一个某种标识,并将这些标识保存在客户端上,以后客户端每次发给服务器请求都要提供这些标识来实现。为什么 不能由客户机的IP地址作为标识?因为一台客户机可能同时发出多个不同的客户的请求,而且,如果多个不同客户的请求还可能是通过代理服务器发出的,因此IP地址不能作为唯一标识。

Cookie

       Cookie是一块可以嵌入到HTTP请求和响应中的数据,Web服务器将Cookie值嵌入到响应的Header,浏览器则在以后的请求中将携带同样的Cookie。Cookie信息中有一部分用来存储会话ID,这个ID被服务器用来将某些HTTP请求绑定在会话中。Cookie由浏览器保存在客户端的一个文本文件,还包含其它属性,如可选的注释、版本和最长生存期。

URL重写

       Cookie可能会造成对隐私的侵犯,大部分浏览器允许用户关闭Cookie功能,这使得跟踪会话变得更加困难,因此不得不使用另外一个方法:URL重写。URL重写通过在URL地址后面增加一个包含会话信息的字符串来记录会话信息。URL地址与会话信息的字符串之间用”?“隔开,如果有多个参数,用”&“隔开。

HttpSession

       为消除代码中手工管理会话信息的需要,Servlet规范定义了一个简单的HttpSession接口以方便Servlet进行会话跟踪。这个接口实际上是建立在Cookie和URL重写基础之上,只不过由Web容器自动实现了关于会话跟踪底层机制,不再需要程序员了解具体细节。HttpSession接口允许Servlet查看和管理关于会话的信息,确保信息持续跨越多个用户连接。使用HttpSession接口进行程序开发的具体步骤:

(1)获取HttpSession对象。

(2)对HttpSession对象进行读或写。

(3)手工终止HttpSession,或者什么也不做,让它自动终止。

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Servlet配置、会话管理——Servlet【总结】 的相关文章

  • 有没有办法使用Python从“网站按钮点击”下载csv文件?

    我想自动下载 CSV 文件 Projects csv 从这个网站 https www vcsprojectdatabase org projects st c ss 0 so di np 可以通过单击 CSV 图标手动下载 CSV 但我不确
  • 有没有办法获取 Facebook 中消息线程的 ID? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 如果我从用户的消息中获得 Facebook 线程的 URL 有没有办法获取该线程的 id 我知道如何在给定 id 的情况下构造 url 但反
  • Twig 链接到当前路线但更改区域设置

    我会在现有网站中添加一些指向不同区域设置版本的链接 效果很好 但是很丑 li a href img src alt es a li li a href a li
  • Zend Framework 路由:.html 扩展名

    我知道我以前见过这样做 但我在任何地方都找不到信息 我需要能够在 Zend Framework 中使用 html 扩展名进行路由 IE controller action html 应路由到适当的控制器 操作 我们有一个想法 用 htacc
  • 使 CSS url() 相对于文档

    当涉及 CSS 时 适用以下规则 Partial URLs are interpreted relative to the source of the style sheet not relative to the document 但这是
  • 如何在 PHP 中检测、删除和重定向末尾带有 # 的 url?

    客户要求我自动将任何带有井号的网址重定向到不带井号的版本 但我认为我没有使用此公式在任何网址中检测到 我使用 curPageURL 公式通过电子邮件给自己发送了一个示例 URL 它在我正在测试的 URL 中不包含尾随 符号 function
  • 批处理文件中的 URL 解码

    如何在批处理文件中 urldecode 以下字符串 我需要更改以下内容 http x3a x2f x2f www example com x2f some page x2f some x2f link html to this http w
  • .htaccess 从 URL + 目录中删除 WWW

    对于很多人来说这似乎不是问题 阅读 我找不到答案 但我想更新以下 htaccess 代码 不仅从 URL 中删除 www 还删除任何子内容访问的目录 RewriteEngine on RewriteCond HTTP HOST www NC
  • 正则表达式:验证没有查询参数的 URL 路径

    我不是正则表达式专家 我正在绞尽脑汁尝试做一个看起来非常简单并且在 python 2 7 中工作的事情 在没有查询字符串的情况下验证 URL 的路径 无主机名 换句话说 以 开头的字符串允许字母数字值 并且不允许任何其他特殊字符 除了这些
  • WordPress URL 中的正斜杠

    我正在将我的网站从 Drupal 迁移到 Wordpress 在 Drupal 中 我可以轻松地给 URL 指定一个别名 这个别名可以是任何东西 即 www example com abc xyz hello html 但在 WordPre
  • 如何使用 Perl 从纯文本中提取 URL?

    我需要 Perl 正则表达式来解析纯文本输入并将所有链接转换为有效的 HTML HREF 链接 我已经尝试了在网上找到的 10 个不同版本 但没有一个可以正常工作 我还测试了 StackOverflow 上发布的其他解决方案 但似乎都不起作
  • spring 类路径资源中的相对路径

    我有一堆 spring 配置文件 所有这些文件都位于各个子包的 META INF 目录下 我一直在使用如下所示的导入
  • 地址栏中的 https 锁和公司名称

    我注意到在查看贝宝的网站时 他们的公司名称位于 Chrome 中的锁定图标旁边 这是因为他们创作了 ssl 证书 还是您认为他们是如何实现这一目标的 这是我一直很好奇的事情 但在搜索过程中我很难找到任何答案 您需要一个称为 扩展验证 EV
  • 在JSP中获取Servlet转发的请求URL

    如何在JSP中获取Servlet转发的请求URL 如果我在 JSP 中运行以下代码 System out println servlet path request getServletPath System out println requ
  • 在 Cocoa 应用程序中验证用户输入的 URL 的最佳方法是什么?

    我正在尝试构建一个自制的网络浏览器 以更加熟练地使用 Cocoa 我需要一种好方法来验证用户是否输入了有效的 URL 我尝试过一些正则表达式 但 NSString 有一些有趣的怪癖 并且不喜欢我见过的大多数正则表达式使用的一些反引号 你可以
  • 表单方法=“获取”漂亮的URL

    所以我使用这个 HTML 表单作为一个简单的搜索字段
  • 在弹性搜索中使用 GET/POST 时的不同结果

    我正在通过 Elastic Search Head 插件尝试弹性搜索 当我通过 POST 提交查询时 结果符合预期 但是 当我使用 GET 尝试相同的查询时 我总是会返回索引中的所有值 那么 如何通过 GET 将查询传递到弹性搜索服务器 以
  • 如何隐藏 URL 中的 ID

    我以前在 Stack Overflow 上见过这类问题 但没有一个真正有帮助 我也用谷歌搜索过 但没有骰子 我想知道如果用户单击选项卡本身是否可以隐藏 URL 中的 ID 这是网页 www planet nu dev new experia
  • ZF2 - 从路线生成 URL

    我无法弄清楚在 zend 2 中从我想要的任何地方生成 Url 我得到了动作和控制器 所以我尝试这个 this gt url myControllerName array action gt myActionName 但这返回一个对象 我只
  • 有人知道如何将 GMap Static JSON 转换为 HTML url?

    我已经从以下位置下载了示例样式的地图snazzymaps com http snazzymaps com 我尝试转换为类似的网址但我做得不好 我正在尝试改变下一个例子 Google 地图样式静态示例 http snazzymaps com

随机推荐

  • Qt 的网络通信(TCP)

    基于TCP Qt的网络通信 在标准 C 没有提供专门用于套接字通信的类 所以只能使用操作系统提供的基于 C 的 API 函数 基于这些 C 的 API 函数我们也可以封装自己的 C 类 但是Qt 提供了封装好的套接字通信类 QTcpServ
  • 史上超强最常用SQL语句大全

    史上超强最常用SQL语句大全 DDL Data Definition Language 数据定义语言 一 操作库 二 操作表 DML Data Manipulation Language 数据操作语言 一 增加 insert into 二
  • 性能测试调优应该注意哪些要点,一般性能测试调优的步骤-Alltesting

    性能测试调优应该注意的要点 要点1 在应用系统的设计开发过程中 应始终把性能放在考虑的范围内 要点2 确定清晰明确的性能目标是关键 要点3 必须保证调优后的程序运行正确 要点4 系统的性能更大程度上取决于良好的设计 调优技巧只是一个辅助手段
  • steam上wallpaper静态壁纸如何提取高清图

    mirrors notscuffed repkg GitCode 将壁纸资源文件打开 把sene pkg与两个文件放在同目录下在 打开终端输入 RePKG exe extract scene pkg 目录下找到 output materia
  • map reduce takeaways

    首先是数据的partition share nothing parallel architecture 执行task的machine独立 各自处理自己的partition 不需要通信 暴露给用户的控制点只有2个 map function 和
  • 基于51单片机的水箱水位监测控制系统proteus仿真原理图PCB

    功能介绍 0 本系统采用STC89C52作为单片机 1 通过传感器监测水位 当水位低于水位下限时 接通加水水泵 直到水位达到水位上限 停止加水 2 水位低于水位下限时 声光报警 3 可按键手动加水 直到水位达到水位上限 停止加水 4 采用D
  • Axure基础:母版与内联框架

    一 母版 1 母版的作用 母版是解决了我们页面中的重复元素和同步改动的问题 举个例子在两个页面中假设都有这个元素和界面 那我如果我们不用母版 用常规手段就是复制黏贴 但这样没办法保证我们数据同步问题 如果改动其中一个元件 另一个元件没办法同
  • 陀螺解读

    出品 陀螺研究院 区块链是在数字世界围绕数据的记录 组织和传播创造的共建 共享 共治的应用范式 作为一种能够满足数字经济发展需求的关键技术 区块链可有效赋能产业转型 聚力推动产业经济价值 2019年10月24日 中共中央政治局明确把区块链作
  • 马氏距离-Mahalanobis Distance

    Mahalanobis距离是表示数据的协方差距离 它是一种有效的计算两个未知样本集的相似度的方法 与欧氏距离不同的是它考虑到各种特性之间的联系 与欧氏距离不同的是它考虑到各种特性之间的联系 例如 一条关于身高的信息会带来一条关于体重的信息
  • IDEA生成JSON字符串

    第一步 先书写以下基本程序 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 package cn lianxi cn lianxi json Author Wxz Date 2020 8 19 16 45 pu
  • UVa1614

    这道题是一道好题 我想了很久都没有想出合适的方案 这道题考了我们贪心 不确定 数学推导 确定 的能力 看来我的数学逻辑以及推理能力还需要加强啊 题意不说 直接上思路 由于1 lt ai lt i的条件 我们需要从这里入手求解 首先 我们需要
  • Vue判断字符串(或数组)中是否包含某个元素

    Vue判断字符串中是否包含某个字符串 方法有好多种 这里暂时先说我知道的两种 以后知道了别的 会继续更新 方法一 includes方法 数组 字符串都可以 var str Hello World if str includes World
  • 关于多层感知机(MLP)你必须知道的20个知识点

    问题1 MLP的基本组成单元是什么 答 MLP的基本组成单元是神经元 neuron 它通过激活函数对输入进行加权求和和非线性变换 问题2 MLP通常有几层 答 MLP通常有输入层 隐藏层和输出层 隐藏层可以有一层或多层 问题3 MLP的训练
  • 配置ntp客户端与服务器端时间的同步

    1 实验机器介绍 Ip地址 服务器1 192 168 245 128 服务器2 192 168 245 130 客户端1 192 168 245 129 实验前准备 在ntpS1 和ntpS2 中 配置外部服务器为同步服务器 并开放给192
  • 前端内存泄漏和溢出的情况以及解决办法

    写在前面 在平时写代码时 内存泄漏的情况会时有发生 虽然js有内存回收机制 但在平时编程中还是需要注意避免内存泄漏的情况 前几天做移动端时遇到一个内存泄漏造成移动端页面卡顿的问题 所以想总结下前端内存泄漏的情况 回顾下基础知识 一 什么是内
  • RPM 的 spec 文件如何编写

    在关于 RPM 软件包构建的上一篇文章中 你了解到了源 RPM 包括软件的源代码以及 spec 文件 这篇文章深入研究了 spec 文件 该文件中包含了有关如何构建 RPM 的指令 同样 本文以 fpaste 为例 了解源代码 在开始编写
  • 全球及中国汽车用导航行业应用前景与销售渠道分析报告2022-2028年

    全球及中国汽车用导航行业应用前景与销售渠道分析报告2022 2028年 修订日期 2022年1月 专员对接 周文文 查询鸿晟信合研究院了解详细内容 第一章 汽车用导航产业概述 1 1 汽车用导航定义及产品技术参数 1 2 汽车用导航分类 1
  • Idea:修改新项目默认设置

    修改Idea新项目默认设置 使用idea开发时 即使在settings设置项目配置 如maven 在新建项目也会发现项目配置变为默认 这时需要设置新建项目配置 配置步骤 File New Projects Setup Settings fo
  • Log4j 配置文件(log4j.properties)的所在路径问题

    一般我们直接将log4j properties放置在src目录下 这样系统自动会找到的 其实就是放在WEB INF classes文件下 这个路径在classpath下 所以直接就能找到 我们写Logger的时候如下 public clas
  • Servlet配置、会话管理——Servlet【总结】

    Servlet配置 初始化参数 Servlet除了可以从请求信息中获取信息外 还可以从配置文件中获取配置参数信息 配置文件中的参数信息与具体的请求无关 而是Servlet初始化时调用的 如此可以避免硬编码信息 提高Servlet的可移植性