修改Tomcat默认编码,防止页面中文参数乱码

原因:tomcat默认的编码是: iso-8859-1
        当我们jsp页面编码是UTF-8时,针对中文参数,即使你在页面用java.net.URLEncoder.encode(param)进行了转码,后台用java.net.URLDecoder.decode(param)进行解码,获得的参数依旧是乱码,这就需要我们修改tomcat的默认编码了。
        修改方法如下:
TOMCAT中的server.xml中的
<Connector>中添加两个设置
useBodyEncodingForURI="true" :设置POST和GET使用相同编码
URIEncoding="UTF-8" :对URI使用utf-8编码处理
        结果如下:
<Connector  useBodyEncodingForURI="true"  URIEncoding="UTF-8"
     connectionTimeout="20000" maxThreads="150" 
     port="8888" protocol="HTTP/1.1" redirectPort="8443"
/>

特殊情况:使用servlet的request.getParameter()获得参数(针对URL重写的情况)
        因为在jsp中对中文进行了编码的时候用的是UTF-8的编码方式,而在servlet中调用request.getParameter()方法的时候使用服务器指定的编码格式自动解码一次,所以前台编码一次后台解码一次而解码和编码的方式不一致,所以造成了乱码的出现。
        这时也需要修改tomcat的默认编码为UTF-8,这样页面使用java.net.URLEncoder.encode(param)对中文进行转码,后台用request.getParameter()获得参数的时候,可以不用再次转码;
        即时前台没有对中文进行编码,后台用request.getParameter()获得的参数依旧是正确的中文;
        不过由于中文参数没有编码,在浏览器地址栏中显示的是参数是中文。
如下:
(1)页面使用java.net.URLEncoder.encode(param)对中文进行转码时
http://localhost:8080/CRUD/list.do?pageNum=3&totalNum=3&&name=%E5%A2%A8%E9%A6%99
(2)页面没有对中文进行转码时
http://localhost:8080/CRUD/list.do?pageNum=3&totalNum=3&&name=墨香
针对上面两种情况,在后台用request.getParameter()都可以获得正确的参数,而不用转码

注:我用form表单提交参数时页面编码是UTF-8,没有修改tomcat的默认编码,获得的中文参数没有出现乱码,但是URL重写时,中文参数变成了乱码!!!

内容概要:本文详细分析了西门子S7-200 PLC使用的PPI(Point-to-Point)通信协议,通过串口监控软件捕获并解析PC与PLC之间的通信数据包,揭示了PPI协议的核心报文格式和通信机制。文章介绍了PPI协议的主从通信模式,阐述了读写操作的具体指令结构、功能码、地址编码规则、校验方式以及完整的通信流程,包括寻呼、确认、读写命令和响应等环节,并提供了多个实际应用示例,如读取密码、版本号、变量数据及控制PLC运行状态(RUN/STOP)等。此外,文档还深入解析了数据帧中各字段的含义,特别是存储器类型、偏移量计算(地址×8)、数据长度与校验码生成方法,帮助开发者掌握底层通信细节。; 适合人群:具备基本工控知识和串口通信基础,熟悉PLC原理及VB、VC等上位机开发语言的研发人员、自动化工程师和技术爱好者;尤其适用于希望绕过官方编程工具、自主实现与S7-200 PLC通信的开发人员。; 使用场景及目标:① 实现上位机(如PC)通过串口直接与西门子S7-200 PLC通信,读写I/Q/M/V/S等存储区数据;② 开发自定义HMI、监控系统或数据采集系统,无需依赖STEP7-Micro/WIN软件;③ 破解或绕过PLC密码保护机制,进行设备维护或逆向分析;④ 深入理解工业通信协议的设计逻辑,提升工控安全防护能力。; 阅读建议:建议结合串口调试工具(如串口助手)和实际PLC硬件进行实践验证,逐步测试文中提供的十六进制指令,观察返回数据以加深理解;注意通信参数设置(9600, E, 8, 1)和校验码计算准确性;对于关键操作(如写入、RUN/STOP控制),应在测试环境中先行验证,避免对生产系统造成影响。
内容概要:本文档聚焦于“复现-基于IEEE9节点低惯量电力系统混合拓扑的构网型变流器控制”,深入研究下垂控制、虚拟同步机控制(VSM)、匹配控制与可调度虚拟振荡器控制(dVOC)在电磁暂态过程中的建模与仿真。文档提供基于Simulink的仿真模型和MATLAB代码,涵盖构网型变流器多种先进控制策略的实现细节,重点分析其在低惯量电网环境下的动态响应特性、稳定性表现及不同控制方法之间的对比。作为电力系统自动化与新能源并网领域的高阶科研资料,该资源不仅服务于具体仿真任务,还配套多项相关课题(如微电网优化、储能调度、电动汽车V2G等)的技术支持,构建了完整的学术复现与工程验证体系。; 适合人群:面向具备电力系统、自动控制或新能源并网等相关背景的硕士、博士研究生及科研人员,特别适用于需开展高水平学术论文复现、SCI/EI期刊投稿或复杂电力系统仿真实验的工程技术人员;要求读者熟悉MATLAB/Simulink环境并具备一定的控制系统理论基础。; 使用场景及目标:① 实现IEEE9节点系统中构网型变流器多种前沿控制策略(如下垂、VSM、dVOC)的电磁暂态仿真与性能对比;② 掌握构网型控制在弱电网条件下的建模方法、参数整定技巧与稳定性分析手段;③ 支撑高水平科研项目中的仿真验证环节,助力完成学术论文中的图表复现与结果分析。; 阅读建议:建议结合MATLAB与Simulink仿真平台,严格按照文档提供的模型结构与代码流程进行操作,重点关注控制器的设计逻辑、系统初始化设置、扰动注入方式及仿真结果的时域与频域分析;推荐同步查阅配套网盘中的完整代码与模型文件,确保复现过程的准确性与完整性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值