天下之事,必先处之难,而后易之。

IDEA部署Tomcat应用所有接口中文乱码

解决问题的思路:

1、分析比对http请求头,contentType等设置

2、前段编码,后端解码,这个方式比较落麻烦,凡是有中文乱码的地方都要进行解决

3、修改Tomcat的默认编码,tomcat8以下默认编码是"iso8859-1",tomcat8默认编码是“UTF-8”

<Connector port="8080" protocol="HTTP/1.1"
               URIEncoding="UTF-8" 
               connectionTimeout="20000"
               redirectPort="8443" />

4、查看应用的web.xml默认编码是否是"UTF-8"以下是后端强制转码配置

复制代码
<filter>
        <filter-name>Set Character Encoding</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
        <init-param>
            <param-name>forceEncoding</param-name>
            <param-value>true</param-value><!-- 强制进行转码 -->
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>Set Character Encoding</filter-name>
        <url-pattern>/*</url-pattern>
        <dispatcher>REQUEST</dispatcher>
        <dispatcher>FORWARD</dispatcher>
    </filter-mapping>
复制代码

 按照此种写法HttpServletRequest和HttpServletResponse在控制层是不可缺少的,否则有乱码

复制代码
/**数据透传下发记录*/
    @RequestMapping("sendTransparentinfoSendCmd")
    public Object sendTransparentinfoSendCmd(TransparentinfoSendlog transparentinfoSendlog,HttpServletResponse response,HttpServletRequest request){
        if(transparentinfoSendlog.getVehicleId()==null){
            // 未选择车辆
            return setReturnMap(false, HttpCode.NO_SELECT_VEHICLE.value());
        }
        String sim=terminalService.findMobileCodeByVehicleId(transparentinfoSendlog.getVehicleId()+"");
        if(sim==null||sim.equals("")){
            return setReturnMap(false, HttpCode.ORDER_SEND_NO_SIM.value());
        }
        if(transparentinfoSendlog.getEnterpriseId()==null){
            // 没有公司ID
            return setReturnMap(false, HttpCode.BAD_REQUEST_ENTERPRISE.value());
        }

        // 存储数据透传下发发送日志
        OrderInfo orderInfo=new OrderInfo();
        orderInfo.setId(com.cvnavi.util.WebUtil.getPK());
        User user = WebExecutionContext.getUser();
        orderInfo.setUserId(user.getId());//设置userId
        // 设置指令ID
        transparentinfoSendlog.setOrderId(orderInfo.getId());
        boolean flag=iTransparentinfoService.insertTransparentinfoSendlog(transparentinfoSendlog);
        if(!flag){
            return setReturnMap(false, HttpCode.BAD_REQUEST.value());//请求错误
        }
        // 发送指令到网关
        orderInfo=iOrderInfoService.sendTransparentinfoSendlogCmd(orderInfo,transparentinfoSendlog);
        if(orderInfo==null){
            return setReturnMap(false, HttpCode.BAD_REQUEST.value());//请求错误
        }
        if("0".equals(orderInfo.getStatus())){
            return setReturnMap(false, HttpCode.NO_VEHICLE_ONLINE.value());//车辆不在线
        }else if("-1".equals(orderInfo.getStatus())){
            return setReturnMap(false, HttpCode.ORDER_SEND_FAIL.value());//指令发送失败
        }
        return setReturnMap(true, HttpCode.OK.value());
    }
复制代码

 

posted @   boonya  阅读(378)  评论(0编辑  收藏  举报
努力加载评论中...
我有佳人隔窗而居,今有伊人明月之畔。
轻歌柔情冰壶之浣,涓涓清流梦入云端。
美人如娇温雅悠婉,目遇赏阅适而自欣。
百草层叠疏而有致,此情此思怀彼佳人。
念所思之唯心叩之,踽踽彳亍寤寐思之。
行云如风逝而复归,佳人一去莫知可回?
深闺冷瘦独自徘徊,处处明灯影还如只。
推窗见月疑是归人,阑珊灯火托手思忖。
庐居闲客而好品茗,斟茶徐徐漫漫生烟。

我有佳人在水之畔,瓮载渔舟浣纱归还。
明月相照月色还低,浅近芦苇深深如钿。
庐山秋月如美人衣,画堂春阁香气靡靡。
秋意幽笃残粉摇曳,轻轻如诉画中蝴蝶。
泾水潺潺取尔浇园,暮色黄昏如沐佳人。
青丝撩弄长裙翩翩,彩蝶飞舞执子手腕。
香带丝缕缓缓在肩,柔美体肤寸寸爱怜。
如水之殇美玉成欢,我有佳人清新如兰。
伊人在水我在一边,远远相望不可亵玩。

点击右上角即可分享
微信分享提示