来源:http://edu.codepub.com/2009/1118/17782.php -- 源码网
从刚开始接触 Tomcat 开始,就被繁杂的相对路径给弄晕了,尽管最后每次都能正确的匹配上,但是总觉得不是很顺畅,一直试图找出一条匹配的规则出来,但是每每总结出一条来的时候,总是又被新的“事实”给颠覆,让人不胜烦恼,因此决定有一点写一点。
通常相对路径的写法有两种,一种就是以“ / ”开头,一种就是不以“ / ”开头,这两种写法有什么区别呢,下面举例阐述一下。
现在的 Web 环境是一个 Struts2 的应用,我的应用名是 Struts ,应用程序所在的目录名也是 Struts 。这样我的 url 基本是以 http://localhost/Struts 开头的啦。现在做如下测试:
1 .在 Struts 目录下面有一个文件叫 sayHello.jsp ,它里面的 form 的 action 的值是
HelloWorld.action ,那么提交之后匹配的路径是
http://localhost/Struts/HelloWorld.action 。
2 .如果 action 的值是 test/HelloWorld.action ,那么提交之后匹配的路径是 http://localhost/Struts/test/HelloWorld.action 。
3 .假设在 Struts 目录下面有一个子目录 add ,它里面有一个文件叫 sayHello.jsp ,它里面的 form 的
action 的值是 HelloWorld.action ,那么提交之后匹配的路径是
http://localhost/Struts/add/HelloWorld.action 。
4 .在测试 3 下将 action 的值改为 test/HelloWorld.action ,那么提交之后匹配的路径是 http://localhost/Struts/add/test/HelloWorld.action 。
5 .在测试 3 下将 action 的值改为 /HelloWorld.action ,那么提交之后匹配的路径是 http://localhost/Struts/ HelloWorld.action 。
6 .在测试 3 下将 action 的值改为 /test/HelloWorld.action ,那么提交之后匹配的路径是 http://localhost/Struts/ test/HelloWorld.action 。
总结:在页面文件中,所请求的相对路径为 path ,那么它的路径匹配是从文件当前所在的目录开始的,假设页面文件当前所在目录为 curr
,那么匹配后的完整路径就是 http://localhost/Sturts/curr/path ;如果相对路径为 /aa/bb/cc
,那么匹配后的路径就是 http://localhost/Sturts/path 。也就是说, 如果以“ /
”开头,就从当前应用的根目录开始匹配,如果不以“ / ”开头就从当前文件所在的目录开始匹配 。这样的话,如果文件本来就在根目录下面,那么加“
/ ”和不加“ / ”就没啥区别了。
在 Struts2 还一个要匹配路径的地方就是在处理完请求之后对页面进行分发的时候,也就是 result 元素里面的内容。测试记录如下:
1 . <result>/HelloWorld.jsp</result> 。匹配的路径是 http://localhost/Struts/HelloWorld.jsp 。
2 . <result>HelloWorld.jsp</result> 。这个时候就和调用这个 action
的路径相关了。可以这样进行匹配,首先得到请求这个 action 的 url ,然后去掉最后一个“ / ”后面的内容,再把
HelloWorld.jsp 接上去即可。例如,我们是通过
http://localhost/Struts/aa//bb/cc/HelloWorld.action 调用的 action ,那么匹配出来的
url 就是 http://localhost/Struts/aa//bb/cc/HelloWorld.jsp 。
分享到:
相关推荐
C2000,28335Matlab Simulink代码生成技术,处理器在环,里面有电力电子常用的GPIO,PWM,ADC,DMA,定时器中断等各种电力电子工程师常用的模块儿,只需要有想法剩下的全部自动代码生成, 电源建模仿真与控制原理 (1)数字电源的功率模块建模 (2)数字电源的环路补偿器建模 (3)数字电源的仿真和分析 (4)如何把数学控制方程变成硬件C代码; (重点你的想法如何实现)这是重点数字电源硬件资源、软件设计、上机实验调试 (1) DSP硬件资源; (2)DSP的CMD文件与数据的Q格式: (3) DSP的C程序设计; (4)数字电源的软件设计流程 (5)数字电源上机实验和调试(代码采用全中文注释)还有这个,下面来看看都有啥,有视频和对应资料(S代码,对应课件详细讲述传递函数推倒过程。
OpenArk64-1.3.8beta版-20250104,beta版解决Windows 11 23H2及以上进入内核模式,查看系统热键一片空白的情况
java面向对象程序设计实验报告
基于springboot的校园台球厅人员与设备管理系统--论文.zip
【创新无忧】基于matlab蜣螂算法DBO优化极限学习机KELM故障诊断【含Matlab源码 10720期】.zip
基于springboot的数码论坛系统设计与实现--论文.zip
基于springboot的生鲜超市管理的设计与实现.zip
内容概要:本文针对污水再生全流程中首端处理单元——AO除磷工艺展开了详尽研究。首先介绍了当前国内水资源现状以及传统污水处理面临的挑战。基于这些挑战,研究人员提出了将A/O除磷与厌氧氨氧化相结合的新思路,并详细讨论了如何通过调控运行参数(如好氧段DO浓度、污泥负荷率等)来提升TP和COD的去除效果。文章强调在不牺牲氨氮浓度的前提下实现了高效低成本的除磷及有机物去除。同时利用DGGE技术探究了系统内的微生物群落结构,验证氨氧化细菌和亚硝化细菌在短泥龄条件下被淘汰的情况。 适合人群:从事污水处理技术研究的专业人士或对生物处理工艺感兴趣的环保工程师、科研人员。 使用场景及目标:①为改善传统污水处理工艺中存在的同步脱氮除磷难题提供解决方案;②探讨A/O除磷单元与其他处理单元组合时的设计考量和性能评估方法。 其他说明:本研究不仅有助于深入了解AO工艺背后的科学原理和技术难点,也为后续自养脱氮环节准备了合适的进水条件,促进了整个城市污水处理链条的技术进步和发展方向探索。
返岗证明模板.docx
arcgis矢量shp格式白城市地图
航天新征程航天发展历程介绍弘扬载人航天精神ppt
Yufeng-lidar
资源描述: HTML5实现好看的律师法律服务网站模板,好看的律师法律服务网站模板源码,律师法律服务网站模板,HTML律师法律服务网站模板源码,内置酷炫的动画,界面干净整洁,页面主题,全方位介绍内容,可以拆分多个想要的页面,可以扩展自己想要的,注释完整,代码规范,各种风格都有,代码上手简单,代码独立,可以直接运行使用。也可直接预览效果。 资源使用: 点击 index.html 直接查看效果
【创新无忧】基于matlab哈里斯鹰算法HHO优化极限学习机KELM故障诊断【含Matlab源码 10697期】.zip
【C#】基于C#的消息队列服务产品中间件
【创新无忧】基于matlab布谷鸟算法CS优化极限学习机KELM故障诊断【含Matlab源码 10691期】.zip
直连设备(单片机)端token自动计算(micropython)
基于springboot的书籍学习平台--论文.zip
档案材料归档移交目录表.docx
这是我自己写的一款PDF文档转Word工具。 没有联网,没有后台,格式转换在本地电脑上进行,保证数据安全。 转换有4种模式可以设置,尽可能的保证转换成功,保留原来的格式。