首页 > 其他分享 >WebUtils工具类解析

WebUtils工具类解析

时间:2022-12-08 21:32:37浏览次数:32  
标签:code 请求 互斥 WebUtils 会话 给定 工具 解析 属性


WebUtils根据名称,知道是Spring当中一个工具类,主要用于Web应用程序,供各种框架使用。

其中有些方法还是挺有用的,比如可以获取Session中的会话属性,获取Cookies,设置Session中的会话属性的值等等

翻译了WebUtils类的文档,其中WebUtils中的方法如下:

1.将一个系统性质设置到上下文根路径

2.移除系统性质

3.判断“HTML escaping”(HTML转义)对应用是否允许,即看web.xml中的defaultHtmlEscape的值是否设置为true

4.返回由当前servlet容器提供的 当前Web应用程序的临时目录

5.返回由servlet容器提供的,Web应用程序中给定路径的实际路径

6.通过一个请求确定会话Session的标识(Id)

7.通过一个请求,通过name获取session中的属性,如果session中没有属性或者没有session会返回一个null

8.和7中方法相似,只不过不会返回null,会抛出异常

9.通过给定的名称和值设置session中的属性,若果session值为空,会移除session的属性

10.获取指定的会话属性,如果没有找到的话会创建并设置新的属性。其中给定的类需要有一个公共的无参构造函数。

11.返回给定会话的最佳可用互斥量:即为给定会话同步的对象。返回会话互斥属性(如果可用);通常情况下,这意味着需要定义HttpSessionMutexListener在{code web.xml}中。 回到HttpSession本身如果没有找到互斥属性。会话互斥确保在期间是相同的对象会话的整个生命周期,在定义的密钥下可用由SESSION_MUTEX_ATTRIBUTE常量定义。 它作为一个在当前会话上同步锁定的安全引用。在很多情况下,HttpSession引用本身是一个安全的互斥体同样,因为它始终是相同的对象参考相同的活动逻辑会话。 但是,这并不能保证不同的servlet容器; 唯一的100%安全方式是会话互斥。

12.返回指定类型的合适的请求对象,如果可用,会unwrapping给定的request请求

13.和12方法类似,应用于response

14.判断请求是否是一个包含(Include)请求,即不是从外部进入的顶级Http请求。

15.Servlet规范的错误属性,Servlet2.3规范中定义的属性,用于错误页面直接呈现,而不是通过Servlet容器的错误页面解析

16.如果不存在? 公开指定的请求属性       (有疑问)

17.清除类似方法15中定义的错误属性,遵循servlet2.3规范

18.将给定的Map公开为请求属性,使用键作为属性名称并将值作为相应的属性值。 键需要是字符串

19.检索具有给定名称的第一个cookie。注意多个Cookie可以具有相同的名称,但路径和域不同。

20.检查请求中是否有通过按钮或者图像的特定的输入类型=“submit”参数

21.从给定的请求参数中获取一个命名参数。可以参阅方法{findParameterValue}用于查找算法的描述

22.获取参数值通过以下的算法:(算法补充)

23.返回包含具有给定前缀的所有参数的map。将单个值映射为String,多个值映射到String数组。

24.返回请求中指定的目标页面

25.从给定的请求URL路径中提取URL文件名

26.从给定的请求URL路径中提取完整的URL文件名(包括文件扩展名)。正确地解析嵌套路径,例如“/products/view.html”。

27.用矩阵变量解析给定的字符串。 一个例子字符串会看起来像这样{@code“q1 = a; q1 = b; q2 = a,b,c”}。 结果地图将包含


使用值{@code [“a”,“b”]}的密钥{@code“q1”}和{@code“q2”}和{@code [“a”,“b”,“c”]}。



标签:code,请求,互斥,WebUtils,会话,给定,工具,解析,属性
From: https://blog.51cto.com/u_14682436/5923500

相关文章

  • Android自定义View和Canvas绘图解析
    自定义view的流程分为measure、layout、draw三个主要步骤,今天我们通过源码来分下下measure的过程我们从顶级view开始,顶级view即DecorView,view的事件都是先经过这个DecorVi......
  • 工具推荐:Netdata,Linux性能实时监测工具
    工具推荐:Netdata,Linux性能实时监测工具​​​http://www.freebuf.com/sectool/100484.htm​​​安装使用教程:https://linux.cn/article-7576-1.html......
  • android中使用heap分析工具导出到MAT
    android中可以使用heap分析工具导出到MAT,方法为1)在ECLIPSE工具栏中,选择如下图2要将dalvik的导出到java格式的MAT,可以这样 hprof-convdump.......
  • Java诊断工具Arthas,Centos7下部署使用
    Arthas是Alibaba开源的Java诊断工具,深受开发者喜爱。在线排查问题,无需重启;动态跟踪Java代码;实时监控JVM状态。1.下载:wgethttps://alibaba.github.io/arthas/arthas-boot.j......
  • ClickHouse的客户端可视化连接工具DBeaver的安装及使用
    客户端连接(DBeaver)clickhouse由于其优异的查询性能,目前在大数据领域应用逐渐火热起来,由于navicat不支持clickhouse的可视化查询,我们就用DBeaver来代替navicat,这个工具可以说......
  • Go--解析yaml文件
    yaml文件是目前最常用的配置文件,使用go语言编写代码和工具时,也会用到yaml文件,将服务配置及中间件等信息定义到yaml文件中,后续可根据实际场景来选用。//先下载外部包go......
  • python tkinker答题工具简易实现
    分享一个简单的pythontkinker实现的答题工具,效果参见https://www.bilibili.com/video/BV13e4y1E71d/点击查看代码importtkinterfromtkinterimport*fromtkinter......
  • 安装zookeeper客户端可视化工具ZooInspector。
    下载:下载地址:​​https://issues.apache.org/jira/secure/attachment/12436620/ZooInspector.zip;​​解压:下载完后解压压缩包,打开地址为ZooInspector\build\zookeeper-dev-Z......
  • 基于Java8Date-Time API的日期工具类
    在旧版的Java中,日期时间API存在诸多问题,其中有:非线程安全−java.util.Date是非线程安全的,所有的日期类都是可变的,这是Java日期类最大的问题之一。设计很差−Java的......
  • Java 8 Stream实现菜单树工具类
    TreeUtils:packagecom.ruoyi.common.core.utils.GuavaUtils.TreeUtils;importcom.alibaba.fastjson.JSON;importjava.util.Arrays;importjava.util.List;importjava.uti......