再也不要用struts2.1.6了

struts2.1.6升级到struts2.3.15.1 公司项目2.1.6的项目升级到2.3.15.1 删除的jar包:         ognl-2.6.11.jar     xwork-2.1.2.jar     struts2-config-browser-plugin-2.1.6.jar     struts2-convention-plugin-2.1.6.jar     struts2-core-2.1.6.jar     s 阅读详情

struts2.1.6有一个逆天的中文乱码BUG存在。。对于设置struts.i18n.encoding"无法阻挡提交的参数出现中文乱码。这个BUG在2.1.8更正了。

方法一:升级struts2版本

方法二:听闻可以通过filter改变:

http://ywlqi.iteye.com/blog/323589

大体内容:

近期把项目从struts2.0 升级到struts2.1.6,在不加上encodingFilter的情况下,无论怎么设置struts.locale和struts.i18n.encoding,都会中文乱码,加上encodingFilter才没事,不知道这是为什么?希望大虾给予解答
我的web.xml配置


评论
4 楼 ywlqi 2009-06-24  
刚从JE上看到这是2.1.6的BUG,官方已经对此做了修复:https://issues.apache.org/struts/browse/WW-3075 


另一个博客上也提到:

struts2.1.6版本中存在一个Bug,即接收到的中文请求参数为乱码(以post方式提交),原因是struts2.1.6在获取并使用了请求参数后才调用HttpServletRequest的setCharacterEncoding()方法进行编码设置 ,导致应用使用的就是乱码请求参数。这个bug在struts2.1.8中已经被解决,如果你使用的是struts2.1.6,要解决这个问题,你可以这样做:新建一个Filter,把这个Filter放置在Struts2的Filter之前,然后在doFilter()方法里添加以下代码

public void doFilter(...){
HttpServletRequest req = (HttpServletRequest) request;
req.setCharacterEncoding("UTF-8");//应根据你使用的编码替换UTF-8
filterchain.doFilter(request, response);
}

另一位大神的建议是 :


换个继承的类在源文件修改的那个是get的方式提交可以改变,用下面的这个是拦截post的提交方式,这是经常用到的,包你解决问题
public class MyFilter extends RequestProcessor {

@Override
protected boolean processPreprocess(HttpServletRequest request, HttpServletResponse response) {

 try {
request.setCharacterEncoding("utf-8");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
 


return true;
}
  



}

上面的参考可以到:http://bbs.youkuaiyun.com/topics/300114451


我的想法是:升级吧


Struts2升级到2.5.30,问题解决及过程记录 Struts2升级到2.5.30,问题解决及过程记录, 文章详见:https://blog.csdn.net/sinat_36743893/article/details/124582101 立即下载

相关推荐

struts2.1.6

struts2所需要的基本开发包,就六个,很少,很简单

struts2版本升级问题

例如在spring3.2版本升级到spring4.3.8,name在整合框架的时候,也需要相应的升级 升级前的jar包: 升级后的jar包: 在配置文件中有点不同如下: 原来: <filter> <display-name>StrutsPrepareAndExecuteFilter</display-name> <fil...

荒的博客 3688

Proteus仿真AT89C51驱动DHT11:温湿度数据采集与LCD1602显示的5个调试坑点总结

本文总结了在Proteus仿真环境下使用AT89C51驱动DHT11温湿度传感器并通过LCD1602显示的5个常见调试坑点,包括DHT11时序问题、LCD1602初始化错误、数据校验失败、仿真特有差异及系统稳定性问题,提供了详细的解决方案和优化代码示例,帮助开发者高效完成温湿度采集项目。

weixin_30335575的博客 356

struts2.3版本升级到6.4

struts2.3版本升级

LaLaLa090的博客 2127

基于深度学习方法(7种)的高光谱与多光谱图像融合(附代码+3个数据集获取)

其他不懂的可以把代码发给AI哦,让它给你解读。

热爱分享,热爱记录 1298

基于Python API的ECMWF大气数据批量下载与自动化处理实践

本文详细介绍了如何利用Python API实现ECMWF大气数据的自动化批量下载与处理。针对遥感分析中手动下载ERA5等数据的痛点,文章提供了从API密钥配置、核心脚本编写到元数据解析、任务队列调度及数据质量检查的全流程实践指南,旨在帮助科研与工程人员高效获取并处理大规模气象数据。

u8v9w0x1y的博客 479

Apache Struts2文件上传漏洞来袭,网御星云提供优选解决方案,从零基础到精通,收藏这篇就够了!

2024年12月,网御星云监测到Apache官方发布漏洞风险通告,在远程服务器代码中使用了FileUploadInterceptor作为文件上传组件时,Apache Struts在文件上传逻辑中存在漏洞。3)添加“L3_Apache Struts2文件上传漏洞”,条件日志名称等于或包含“L2_Apache Struts2文件上传漏洞”,攻击结果等于“攻击成功”,目的地址引用资产漏洞或源地址匹配威胁情报,从而提升关联规则的置信度。(1)“网御漏洞扫描系统V6.0”产品已支持对该漏洞进行扫描。

Javachichi的博客 1352

进程间通信的七种方法实战演示!值得收藏!

线程和进程间的通讯(Inter-Process Communication, IPC)是操作系统中的一个重要概念,用于实现不同进程或同一进程中的不同线程之间的数据交换和协调。以下是几个常见的进程间通信的方式:管道、消息队列、共享内存、信号、套接字、信号量、文件映射

十年饮冰,难凉热血,保持热爱,奔赴星海! 2816

struts2漏洞升级指南

因Struts2框架缺陷造成的远程执行漏洞, Struts2中WebWork框架使用XWork来支持Struts 2及其他应用。XWork处理用户请求参数数据时存在漏洞,远程攻击者可以利用此漏洞在系统上执行任意命令。 升级方法 1.maven管理jar包的可以直接在pom中把Convention插件实现struts2的零配置和spring中struts2插件升级为最新的版本,

z69183787的专栏 2208

基于RK3588调试WiFi模块AIC8800

本文介绍了在RK3588平台上移植AIC8800 WiFi模块驱动的过程。开发环境基于Linux 6.1内核和Buildroot文件系统。驱动移植步骤包括:将驱动包放入SDK指定目录、修改Makefile、编译内核、放置固件文件、手动加载驱动模块等。文章还分析了两种常见异常情况:无法识别模块(检查USB信号线路和供电)和偶发断连(检查硬件连接和调整PHY寄存器)。成功加载后可通过ifconfig看到wlan0节点。

qq_45147279的博客 667

基于本机知识库 + 豆包(火山引擎)+ MCP的落地方案

最小 MVP:本地知识库 + Doubao Embedding + 简单检索。工具化:把检索/写入/系统功能通过 MCP 封装。Agent 编排:RAG 流程 + 自检 + 引用输出。这样你就可以快速落地一个基于豆包 + 本机知识库的 MCP Agent。

lpfasd123的博客 1097

应用Struts2.1.6须注意的几点(转载)

 *注:在学习Struts2.0的过程中,我所看得视频中用的Struts2.0.x版本,而我所用的是最新版Struts2.1.6。由于版本的不同,视频里行得通的代码在我的电脑出现错误,故特地上网搜索找到了原因。看完《Sturts2权威指南》的前三章,也看了一些Sturts2的文章。等到自己写个登录验证Demo时候却总是有想不到的问题,登录了一个钟头也没有登录成功,相当郁闷,就是按照书上还有

感动宝贝 2870

布尔可满足性问题(SAT)深度研究

布尔可满足性问题(Boolean Satisfiability Problem, SAT)是计算机科学和数理逻辑中的一个核心决策问题。其定义为:对于一个给定的布尔逻辑公式,判断是否存在一组对其变量的真值赋值(即,为每个变量指定真 (True) 或假 (False)),使得该公式的最终计算结果为真。如果存在这样的赋值,则称该布尔公式是可满足的 (satisfiable);否则,称其为不可满足的 (unsatisfiable)。

步子哥的博客 497

struts2.1.6 action 01

struts 官网下载 http://www.apache.org/ http://struts.apache.org/ http://struts.apache.org/download.cgi#struts2231 . 下载struts2.1.6 http://struts.apache.org/download.cgi#struts217 (选择下载full distr

tanyit的专栏 2661

告别手动读摘要!爬虫+大模型做学术助手:爬知网论文,10秒生成摘要+关键词(附完整代码)

知网的官方摘要往往冗长(200-300字),关键词可能不够精准,用大模型提炼“100字精简摘要”和“3-5个核心关键词”,更适合快速筛选文献。这套学术助手的核心价值,是把“找论文、读摘要、提关键词”这些重复劳动,交给爬虫和大模型自动化完成,让科研人从繁琐的文献整理中解放出来,把时间花在实验设计、数据分析等核心工作上。需要注意的是:爬取知网论文仅用于个人科研和学习,不得用于商业用途,遵守知网的用户协议和版权规定;大模型生成的摘要和关键词需后续核对原文,确保准确性。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1942

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

让Struts2 在NetBeans 6中安家——在 NetBeans 6 中使用 Struts2

让Struts2 在NetBeans 6中安家                           —— 在 NetBeans 6 中使用 Struts2前言:NetBeans 6 和 Struts2 每次使用一种java编辑器或IDE(如eclipse)一个多小时后,总是发现自己已经在NetBeans里敲代码了。至于Struts2,这是一个融合了WebWork 和Struts1.X

xhinker's blog 1万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Struts1 和 Struts2

关于Struts2的出现缘由和好处就不多说啦,看了几篇总结的不错的文章,整理下贴出来,共同学习了。 Action的区别 对于有着丰富的Struts1.x开发经验的朋友来说,都十分的清楚Action是整个Struts框架的核心内容,当然Struts2也不例外。不过,Struts1.x与Struts2的Action模型很大的区别。 Struts2和Struts1.x的差别,最明显的就是Strut

袁伏彪 —— 共享,共赢 2万+

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Struts1和Struts2对比

最近学习了Struts1和Struts2.很多人、很多资料都提到。Struts2不是从Struts1发展而来的。Struts2的前身是WebWork。那它俩到底有多大的不同呢,看了一些资料,下边就来比较比较。一、架构分析Struts1的架构图: 执行流程: 1.用户在浏览器端发送请求,服务器(比如:Tomcat)创建HttpServletRequest和HttpServletResponse对象

大道至简 1699

Struts1到Struts2

Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Stru...

qq_42264638的博客 1122

struts1与struts2的对比学习

Struts 2框架由3个部分组成:核心控制器FilterDispatcher、业务控制器和用户实现的业务逻辑组件。在这3个部分里,Struts 2框架提供了核心控制器FilterDispatcher,而用户需要实现业务控制器和业务逻辑组件。 FilterDispatcher是控制器的核心,就是mvc中c控制层的核心。下面粗略的分析下我理解FilterDispatcher工作流程和原理:FilterDispatcher进行初始化并启用核心doFilter。该控制器作为一个Filter运行在Web应用中,它负

变是永远不变的...... 1302

Struts2与Struts1的比较

Struts2其实并不是一个陌生的Web框架,Struts2是以Webwork的设计思想为核心,吸收了Struts1的优点,因此,可以认为Struts2是Struts1和Webwork结合的产物。 简单来说二者的区别是:         一个是Stuts1 ,一个是Stuts2,这是最大的区别,技术方面,Stuts1有个核心控制器,但是只提供了一个接口,也就是execute,还要配置a

(Java) 3514

Struts-2.1.6整合Tiles2全攻略

首先,我声明我用的是Struts-2.1.6而不是Struts-2.0.x,2.1和2.0是有些不同的,希望大家注意。下面进行配置步骤:1、导入包,把Struts-2.1.6文件夹lib里的jar包复制到项目文件WEB-INF/lib里,一共13个:1)struts2-core-2.1.6.jar2)xwork-2.1.2.jar3)freemarker-2.3.13.jar4

alex311的专栏 1056

struts1 与 struts2的区别

Struts 2是在WebWork基础上发展起来的。从某种程度上来讲,Strut2没有继承Struts 1的血统,而是继承了WebWork的血统。或者说,WebWork衍生出了Struts 2,而不是Struts 1衍生了Struts 2。因为Struts 2是WebWork的升级,而不是一个全新的框架,因此稳定性、性能等各方面都有很好的保证;而且吸收了Struts 1和WebW...

dfyg28276的博客 112

Apache项目Struts 1和Struts 2源代码下载(至今所有版本)

5.6M226669.0M2266310M2263213M226325.4M226327.7M226325.5M226328.2M226325.5M226328.2M226325.5M22632。

xiaoyustudiowww的博客 815

Struts1与Struts2

Struts1就不多说了,它遵循并实现了MVC的设计思想,在传统的SSH架构中体现着至关重要的作用。        今天我们主要说说Struts2,并简单对比一下Struts1和Struts2,供大家学习和参考。

劝学 786
上一篇: jmp3是一款jquery开源插件,该插件可以播放音乐文件。
下一篇: http://sishuok.com/forum/blogPost/list/4131.html
_yunfei
博客等级 码龄15年 0粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值