struts2的路径处理机制

近测试公司一个已经上线好久的老项目接口时候发现访问路径错误也能访问。

欣喜若狂以为发现了struts2的漏洞;后来网上查找相关资料发现这只是struts2的对路径的一个默认处理;

接口正常路径:http://localhost:8080/wxt/hr/basicInfor!getRequisiteInfo.action

测试路径:http://localhost:8080/wxt/hr/wxt/basicInfor!getRequisiteInfo.action

后来阅读struts2源码发现其默认会对嵌套路径(多斜杠)进行优化处理

代码如下:

查找struts2配置才知道

  • struts.enable.SlashesInActionNames 在URL中的Action段中是否支持斜线
  • 最后只需要在struts配置文件中修改值就解决了
  • <constant name="struts.enable.SlashesInActionNames" value="true"/>

原文地址:https://www.cnblogs.com/rememberW/p/9028763.html

时间: 2024-10-24 07:31:01

struts2的路径处理机制的相关文章

[转]Struts2数据传输的背后机制:ValueStack(值栈)

1. 数据传输背后机制:ValueStack(值栈) 在这一切的背后,是因为有了ValueStack(值栈)! 2. ValueStack基础:OGNL 要了解ValueStack,必须先理解OGNL(Object Graphic Navigatino Language)! OGNL是Struts2中使用的一种表达式语言,它可以: ①用于JSP的标签库中,以便能够方便的访问各种对象的属性: ②用于界面将参数传递到Action(并进行类型转换)中: ③用于struts2的配置文件中! 所以,非常有

Struts2传值的背后机制:Value Stack(值栈)

1. 数据传输背后机制:ValueStack(值栈) 在这一切的背后,是因为有了ValueStack(值栈)!   ValueStack基础:OGNL 要了解ValueStack,必须先理解OGNL(Object Graphic Navigatino Language)! OGNL是Struts2中使用的一种表达式语言,它可以用于JSP的标签库中,以便能够方便的访问各种对象的属性:它用于界面将参数传递到Action(并进行类型转换)中:它还可以用于struts2的配置文件中!所以,非常有必要理解

struts2相对路径解释

虽然大家都知道,struts2里最好采用绝对路径,但有时还是得采用相对路径.在此总结一下. 以下路径中的“/”都是指 /WebRoot或/WebContent目录,大家都懂得. 1.struts2与spring不同,它是可以直接访问到 /WebRoot/下的资源的,struts2似乎会根据链接有无后缀分辨究竟访问的是页面还是请求的后台action.比如/admin/index.html会直接访问到资源,而/admin/index会请求namespace为/admin下名为index的action

Struts2中的ModelDriven机制及其运用

为什么需要ModelDriven 所谓ModelDriven,意思是直接把实体类当成页面数据的收集对象.比如,有实体类User如下: package cn.com.leadfar.struts2.actions; public class User { private int id; private String username; private String password; private int age; private String address; public String ge

Struts2中的ModelDriven机制及其运用(转)

所谓ModelDriven,意思是直接把实体类当成页面数据的收集对象.比如,有实体类User如下: package cn.com.leadfar.struts2.actions; public class User { private int id; private String username; private String password; private int age; private String address; public String getUsername() { ret

Struts2数据传输的背后机制:ValueStack(值栈)

在介绍传值机制之前,首先了解OGNL,OGNL是ValueStack的基础. 要了解ValueStack,必须先理解OGNL(Object Graphic Navigatino Language)! OGNL是Struts2中使用的一种表达式语言,它可以用于JSP的标签库中,以便能够方便的访问各种对象的属性:它用于界面将参数传递到Action(并进行类型转换)中:它还可以用于struts2的配置文件中!所以,非常有必要理解OGNL的基本机制. OGNL介绍 OGNL是Object-Graph N

Struts2之Session Token机制理解及使用

一.学习案例:关于表单重复提交的问题,其实没什么可讲的,这个功能可以说很鸡肋,特别在现在的项目中很少会用,实际意义不大,之所以讲,是为了引出拦截器,给下一章学习拦截器做个铺垫,大家就当看杂文一样,随便瞟几眼就OK. 二.案例分析:token机制很类似于验证码的实现方式,当页面请求扫描到<s:token/>便签时就会调用标签处理类,而标签处理类会生成一个随机数返回给页面,另外在服务器端拷贝一份也就是防止session中,当请求到达服务器后,就会对比两个字符串,相等则通过,不相等证明是重复提交则跳

Struts2命名空间路径的小细节

如果用struts标签,且struts配置有命名空间,则<s:form>中也要注明namespace,并且提交的action类中无需家action后缀 如果用struts标签,且struts配置中无命名空间,则<S:FORM>无需注明namespace,提交的时候加上action类名和action后缀即可 如果是html方式的form提交,且struts配置中有命名空间,则action=""中要注明提交路径和action的名字.如我的 机子是127.0.0.1且

Struts2之异步调用机制详解

一.学习案例:通过在getXML.jsp页面改变名称,在不刷新当前页面的情况下修改页面的数据. 二.案例分析:struts和ajax配合,主要是返回数据的定义.我们可以返回json和xml格式的数据.在此只演示xml方式. a)格式xml数据,一是拼接字符串,但是数据多的情况下,代码维护就不行了.所以在此我们借助dom4j.把下载的dom4j.jar放到lib目录下. b)创建scripts包,把jquery.js放进去. c)创建getXML.jsp页面,编写html以及jquery. d)创