Tomcat 那些事儿

tomcat接收中文参数乱码问题的总结

其实是一个相当老的问题,勾勾可以查到很多,昨天不小心又碰到了,总结一下.

1 一般我们的页面都用UTF-8编码,IE里面也是默认用UTF-8传递参数.

2 参数中包含的中文提交时都转为编码形式,如果是javascript提交可以用...+encodeURI(param)的方式提交参数,地址栏显示结果形如:xxxx&path=%E9%80%81%E5%A4%84%E7%90%86

3 一般推荐的方式是修改tomcat/conf/server.xml,在如下小节中加入URIEncoding="UTF-8"

 

         <Connector   port="8080"   maxThreads="150"   minSpareThreads="25"     

  maxSpareThreads="75"   enableLookups="false"   redirectPort="8443"     

  acceptCount="100"   debug="0"   connectionTimeout="20000"     

  disableUploadTimeout="true"   URIEncoding="UTF-8"   /   >   

4 如果不采用步骤3,可以在接收时转化为utf-8,这样每个参数都必须转换

path=new String(path.getBytes("ISO-8859-1"), "UTF-8");

 

注意: 如果使用Mysql,还要把Mysql的编码问题解决,见Mysql那些事儿

当尝试使用 `usermod` 修改用户属性时,如果目标用户正处于活动状态并被某个进程占用(例如 Tomcat),系统会阻止对该用户的修改操作。以下是针对此问题的具体解决方案: --- ### 1. 查找当前占用的进程 首先需要定位具体是哪一个进程占用了 tomcat 用户。可以通过以下命令查找: ```bash pgrep -u tomcat ``` 这将返回所有由 tomcat 用户运行的进程 ID(PID)列表[^1]。 对于更详细的输出信息,可以结合 `ps` 命令来查看这些进程的相关详情: ```bash ps -fu tomcat ``` --- ### 2. 安全停止相关服务 一旦识别出了具体的进程,尤其是那些与 Tomcat 相关的服务进程,应该优先考虑按照标准流程安全地停止它们而不是直接强制结束进程。通常情况下,Tomcat 提供了自己的脚本来控制其生命周期,如下所示: ```bash /usr/local/tomcat/bin/shutdown.sh ``` 执行上述脚本后稍作等待以确保 Tomcat 平滑关闭[^1]。可通过再次调用 `pgrep -u tomcat` 验证是否有残留进程存在。 如果有任何未响应的子线程或后台作业未能及时清理,则需进一步采取行动。 --- ### 3. 强制清除剩余进程 尽管推荐遵循官方指南优雅停机,但在某些特殊场景下可能仍会有部分顽固进程滞留不下。此时可采用更为强硬的方式将其终结: ```bash pkill -u tomcat ``` 或者逐一手动杀死先前记录下的 PIDs: ```bash kill -9 <PID> ``` 这里的 `-9` 参数代表无条件立即销毁指定的目标进程,因此要格外小心运用以免引发不可预见后果[^2]。 --- ### 4. 调整用户配置 待确认没有任何活跃中的进程再依赖于 tomcat 用户之后,就可以放心大胆地实施原先计划内的更改动作啦!比如重新分配 UID/GID 或者调整隶属关系等等皆可行不通碍事矣。 ```bash usermod -g newgroupname tomcat ``` 亦或是干脆重命名整个账户名也毫无压力咯: ```bash usermod -l newusername tomcat ``` 当然别忘了同步更新 `/etc/passwd`, `/etc/group` 文件里边涉及到的所有关联条目哦[^5]! --- ### 5. 测试验证改动效果 最后一步也是至关重要的环节——那就是全面测试一遍刚才所做的每一处变动是否达到了预期成效并且没有引入新的麻烦事儿进去。重启机器或许是个不错的选择因为它能有效暴露隐藏较深的问题点出来让我们得以修复完善[^4]。 --- ####
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值