Struts页面转向后所需资源的定位问题

Struts2开发模式漏洞深度剖析:从OGNL注入到RCE实战与修复 在Java Web开发领域,框架安全配置是保障应用安全的重要基石。以Struts2为例,其强大的OGNL表达式语言为数据绑定和视图渲染提供了便利,但同时也引入了潜在的安全风险。OGNL允许执行对象导航、方法调用等操作,若未受控地解析用户输入,可能导致严重的代码注入问题。其技术价值在于高效处理复杂数据映射,但错误配置会将其转化为攻击面。典型的应用场景是开发调试阶段,开发者开启devMode以获取详细错误信息。然而,当struts.devMode被误置为true时,内置的DebuggingInterceptor 阅读详情

对于图片,样式表,js文件等资源的路径用相对路径表示时,以http://localhost:8080/tag/tree/treeAjax.jsp 访问时可以正常访问的,但是经Struts跳转:

http://localhost:8080/tag/renderTreeAction.do 后,这些资源的定位都出现了问题,其原因是这两个url到达同一个jsp后,其相对路径的参照物不同,解决方法是<html:base/>标签,使用此标签后,所有相对路径都已改jsp的路径为参照物.

The base href tag is one of several tags in html that aid in reducing the amount of repetitive text in your document. By declaring a base href you are in affect telling the browser that all relative links contained within the document start from that specified base location. This is a great time saver when developing html on your computer by allowing you to view how the document will look and behave when placed on the server without actually having to do so

<html>
<head>
<title>
CodeAve.com(Base Reference)
</title>
<base href=
"http://www.codeave.com"
>
</head>

 

<!-- The base href command will set a location from which all
relative links will be driven from. -->

<body bgcolor="#FFFFFF">
Hyperlinks
<p>

<a href=html>CodeAve.com - HTML</a>


即:href=base.href/html

createddue to the base href. Place the mouse cursor over the linkand the full address will appear in the lower left of the browser

 

Without the base href this link would be directed to the relative location of the page--此页面的相对位置#html
(In this case http://www.codeave.com/html/html
which does not exist) -->

<p>
Image
<p>

<img src=codeavelogo.gif>
<!-- The full url http://www.codeave.com/codeavelogo.gif
will be created due to the base href.

Without the base href this image tag would
be directed to the relative location of the page
(In this case http://www.codeave.com/html/codeavelogo.gif
which does not exist) -->

 

</body>
</html>

<!-- The full url http://www.codeave.com/html will be
Struts2核心库与依赖项详解及配置指导 Struts2是一个用于开发基于MVC模式的Web应用的框架,以其灵活和可扩展性而闻名。随着企业级应用需求的增加,Struts2框架作为一种成熟的解决方案,被广泛应用于构建复杂的Web应用程序。通过采用Struts2框架,开发者可以将业务逻辑、数据访问和用户界面分离,实现清晰的代码结构和高效的项目协作。Freemarker是一个用于生成文本输出的Java库,通常用于生成HTML Web页面,也可以用来生成XML或其他格式的文件。它最显著的特点是支持MVC设计模式中的视图层。 阅读详情

相关推荐

深入探索Struts 2.5.12源码与框架结构

在软件工程中,MVC(Model-View-Controller)是一种设计模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式旨在促进代码的分离,使得软件组件更容易修改和维护。模型(Model):代表应用的数据结构和业务逻辑。它处理数据的逻辑,并包含应用的数据。视图(View):是用户界面,负责将数据呈现给用户。控制器(Controller):接收用户输入并调用模型和视图去完成用户请求。

weixin_35755823的博客 680

Struts Action页面跳转所需资源的定位问题

2051

Struts2.3.1源代码在Eclipse中的导入与应用

本文还有配套的精品资源,点击获取 简介:Struts2.3.1是一个著名的Java Web框架,基于MVC模式,对开发者构建可维护和可扩展Web应用提供了强大的工具。了解Struts2.3.1源代码对于深入理解框架工作原理和进行二次开发至关重要。本文介绍如何在Eclipse中导入Struts2.3.1源代码,进行调试和学习。通过导入源码、配置JARs、关联源代码,并验证关联...

weixin_35728286的博客 1043

Struts常见异常信息和解决方法

1、“No bean found under attribute key XXX”在struts-config.xml里定义了一个ActionForm,但type属性指定的类不存在,type属性的值应该是Form类的全名。或者是,在Action的定义中,name或attribute属性指定的ActionForm不存在。2、“Cannot find bean XXX in any scope

dearcylin的专栏 343

小型购物网站开发实战:JSP+Struts+Hibernate

简介:这个项目是一个基于Web的电子商务平台,使用Java技术栈(JSP、Struts和Hibernate)开发,实现了用户注册登录、商品浏览、购物车管理和在线支付等功能。它包括前端展示界面和后端管理系统,旨在为用户提供在线购物体验。

weixin_35749440的博客 804

基于Struts2的图书管理系统登录界面设计与实现

用户名</label></div><label for="password">密码

weixin_32661831的博客 377

struts中文解决方案

Struts完全中文显示解决方案  [背景知识]本背景知识参考了IBM DeveloperWorks 中国网站提供的《JSP/Servlet 中的汉字编码问题》1.问题的起源  每个国家(或区域)都规定了计算机信息交换用的字符编码集,如美国的 ASCII,中国的 GB2312-80,日本的 JIS 等,作为该国家/区域内信息处理的基础,有着统一编码的重要作用。字符编码集按长度分为 SBCS(单字节

IT天空&everywhere 1471

历史预测+LLM双杀!DriveGPT4-V2闭环驾驶配置避坑指南

本文深入探讨了DriveGPT4-V2在工程化部署中的核心挑战与解决方案。通过融合历史轨迹预测与大语言模型,该模型旨在实现更可靠的端到端自动驾驶。文章详细解析了从环境配置、多模态Token对齐、轻量控制头设计到训练优化与闭环仿真验证的全流程,为开发者提供了一份详实的避坑指南。

transformer2023的博客 382

弱智的页面无法访问的问题

说是弱智,是针对我的程序来说的。 如上一篇所述我的项目结构,我在基础类CrudAction中,定义了nopemission,但一开始我不是那样写的,我的写法是: @Results({@Result(name = "nopermission", location = "/nopermission.jsp") }) public abstract class CrudAction> exten

YYZhQ的专栏 1182

PaddleOCR GPU部署:从环境配置到避坑实战指南

本文详细介绍了PaddleOCR GPU部署的全过程,从环境配置到避坑实战指南。通过分析常见的部署失败原因,提供硬件兼容性自查、软件环境精配方案以及路径配置的解决方案,帮助用户高效完成GPU加速的OCR任务部署,避免90%的常见错误。

weixin_30839881的博客 417

阿里云CDN HTTPS 证书配置流程

可以使用HTTPS方式访问资源,如果浏览器中URL旁边出现锁的HTTPS标识,表示HTTPS安全加速已生效。: 证书配置完成后,需要留意证书过期时间并在证书过期前手动配置新的证书。注意 ⚠️ 一定是需要复制 以下标识之间的内容。如果已在阿里云数字证书管理服务中购买了证书,请选择。,该证书将在阿里云数字证书管理服务中保存。如果使用第三方服务商签发的证书,请选择。第四步,在指定域名的左侧导航栏,单击。第二步,在左侧导航栏,单击。开关,并配置证书相关参数。页面,找到目标域名,单击。中选择已购买的证书。

w风雨无阻w的专栏 2208

struts2标签总结

原文地址:http://www.guloulou.com/?p=2082 struts2标签总结 struts2标签总结 对比和使用 在struts1.x 中提供了4个标签库用以支持它的集成开发,在struts2中对标签进行了功能整合,放在一个标签库中 要使用标签,只需要在jsp页面添加如下定义即可: struts 2 标签分为五大类: 逻辑控制标签:用于进行逻辑控制输出,包

Chloe_程序媛 768

手把手解决GD32H759I-EVAL以太网通信三大坑:IP冲突、端口绑定失败、LWIP内存泄漏

本文针对GD32H759I-EVAL开发板在以太网通信调试中常见的三大难题——IP地址冲突、端口绑定失败和LWIP内存泄漏,提供了详细的实战排障指南。文章深入分析了问题根源,并给出了具体的网络配置、端口管理策略和内存泄漏检测方法,帮助开发者快速定位并解决嵌入式网络通信中的棘手问题,确保系统稳定运行。

weixin_29196315的博客 139

struts2文件下载出现Can not find a java.io.InputStream with the name的错误

今天在用struts2就行文件下载时出现如下错误: Servlet.service() for servlet default threw exception   java.lang.IllegalArgumentException: Can not find a java

曹胜欢 7万+

LangChain4j-针对性操作Function-call+系统预设角色

如果我们想要对一些敏感信息进行针对化的操作,不仅仅是接口大模型去进行回复。比如我们现在数据库里面有一些菜品,那么用户提问,店里有多少套餐,那么云端大模型肯定是不知道的,我们希望捕获这些关键字然后进行自己的业务查询或者处理,这个时候就可以使用function-call。

DDDDDouble的博客 454

Landsat9 地表温度反演方法

landsat9地表温度反演及缺失值处理方法

xiangliu12345的博客 3916

struts2的开发者模式

在实际应用开发或者是产品部署的时候,对应着两种模式: ① 开发模式(devMode);此时 DevMode=ture; ② 产品模式(proMode);此时  DevMode=false; 在struts.properties或者struts.xml中有devMode的配置,在devMode被激活的模式下,能够明显的提高开发效率,它会提供更多的日志或着debug信息。当然

xyffly的博客 1377

PCB阻焊工艺全解析:从油墨选择到显影测试的完整指南

本文深入解析PCB阻焊工艺全流程,从材料科学角度对比液态光成像(LPI)油墨、干膜阻焊等核心材料特性,系统阐述前处理、涂覆、预烤曝光、显影固化等关键步骤的工艺要点与参数控制。重点探讨了如何通过优化油墨选择与工艺参数,解决常见缺陷,提升PCB的可靠性、美观度及可制造性,为工程师提供从理论到产线实战的完整指南。

s3t4u的博客 551

首页找不到 报错 Struts2 不好调试

HTTP Status 404 - There is no Action mapped for namespace [/] and action name [] associated with context path [/blog0.1]. type Status report message There is no Action mapped for namespace [/] and

tfy1332的专栏 607

YOLOv11改进 | 缝合CCFM轻量检测模型实现高精度跨尺度特征融合【附参考代码】

YOLOv11作为一代优秀的端到端目标检测模型,已经在速度和精度之间取得了较好的平衡。但其默认的Neck结构(通常为FPN + PAN)在处理小目标与多尺度信息时,仍存在信息流冗余、跨尺度特征融合不充分等问题。 本文提出一种轻量化的跨尺度跨通道融合模块(CCFM, Cross-scale and Cross-channel Fusion Module),以替代或增强YOLOv11中的Neck部分,有效提升特征表达能力和检测性能,尤其是在小目标和复杂场景下取得显著涨点。

一键难忘的博客 1412

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

方便struts2项目调试-configdebug-1.0

    Project Hosting(项目托管):http://code.google.com/p/configdebug/ 1.   概述 在使用struts2进行web项目开发的时候,我们需要使用配置文件来解耦action和视图资源(例如:jsp页面) 开发完某个功能之后,我们在页面做一个操作(例如点击一个按钮),然后跳转到另一个页面,在调试的过程中,我们需要知道我的这个操作调用了...

sl 179

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Struts系列教材 (十一)- 标签 - form 标签

把你自己做的项目文件夹,和我的可运行项目文件夹进行比较。的可运行项目,配置运行起来,确认可用之后,再学习做了哪些步骤以达到这样的效果。在确保可运行项目能够正确无误地运行之后,再严格照着教程的步骤,对代码模仿一遍。这个软件很牛逼的,可以知道文件夹里哪两个文件不对,并且很明显地标记出来。模仿过程难免代码有出入,导致无法得到期望的运行结果,此时此刻通过比较。( 可运行项目 ) 和自己的代码,来定位问题所在。,可以较为明显地提升学习速度,跨过学习路上的各个槛。类似的,struts有专属标签库。

Lan_ht的博客 69

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Struts has detected an unhandled exception: Messages: Bean named

Struts has detected an unhandled exception: Messages: Bean named 'cn.itcast.elec.dao.impl.ElecApplicationTemplateDaoImpl' must be of type [cn.itcast.elec.service.IElecApplicationTemplateService], but

u011723841的专栏 1459

使用struts和spring开发时遇到Unable to load configuration. - action - |Caused by: Action

  原文地址: http://www.cnblogs.com/dongritengfei/archive/2009/12/08/1619030.html   报错如下: 严重: Exception starting filter struts2Unable to load configuration. - action - file:/D:/workspace/Ecplipse/.meta...

iteye_11780的博客 194
上一篇: 掌握 Ajax,第 11 部分: 服务器端的 JSON
下一篇: vi 技巧大全命令大全
sdshihai
博客等级 码龄20年 1粉丝 4原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值