从有码到无码

想歪的直觉面壁去,不想见到你。大师说了:心中无码,自然高清。

言归正传。

环境:

  1. tomcat7,jdk6
  2. spring+springmvc+mybatis
  3. maven

问题:有CharacterEncodingFilter,controller处理get请求乱码。

controller:


@Controller
public class SearchController {

    @RequestMapping(value = "/s/{k}.html", method = RequestMethod.GET)
    public String search(@ModelAttribute("k") @PathVariable String k) {
        System.out.println("k=" + k);
        return "search/search";
    }
}

页面获取:


<div class="form-group">
    <input type="text" class="form-control" style="width: 450px;" name="k" id="k"
        placeholder="客官想搜点什么?番号~哈希码~" value="${k }"/>
</div>

网上查了下,比较靠谱的解决方案是修改tomcat中的server.xml配置,在connector节点里增加配置:useBodyEncodingForURI="true" URIEncoding="UTF-8"


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

URIEncoding和useBodyEncodingForURI区别是:

  • URIEncoding是对所有GET方式的请求的数据进行统一的重新编码,
  • 而useBodyEncodingForURI则是根据响应该请求的页面的request.setCharacterEncoding参数对数据进行的重新编码,不同的页面可以有不同的重新编码的编码

按照这个方法修改之后:

OK,没有问题!于是我找jsp空间商修改配置,这货是这么说的:

身为一个有钱的技术人员,怎能被钱财这种铜臭味困扰!

于是我自己搜集资料,重新改了下代码,在controller里边重编码:

controller:


@Controller
public class SearchController {

    @RequestMapping(value = "/s/{k}.html", method = RequestMethod.GET)
    public String search( @PathVariable String k, HttpServletRequest request) {
        String key = EncodingUtil.encodeStr(k);
        request.setAttribute("key", key);
        return "search/search";
    }
}

EncodingUtil:


public class EncodingUtil {

    public static String encodeStr(String str) {
        try {
            return new String(str.getBytes("ISO-8859-1"), "UTF-8");
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
            return null;
        }
    }
}

好了问题解决了。

可是这明显不是那货说的无敌运行的方法,哪个大神有更好的方法呢?欢迎赐教!!!

时间: 2024-11-08 00:02:20

从有码到无码的相关文章

Cobub无码埋点关键技术的实现

随着大数据时代的到来,数据采集也已经变的越来越重要.前端埋点作为一个比较成熟的数据接入手段被广泛应用着.目前埋点分为两种方式,有码与无码埋点.有码埋点比较容易理解,即调用SDK的API,在代码中插入埋点的相关代码,实现用户行为采集.由于我们在开发项目的时候,埋点都是手动的,每次业务需求的改变都要到处埋点,而无码埋点,即不需要手动插入代码,只需要前期进行相关配置,SDK自动采集用户行为.极大程度避免了因需求变更.埋点错误等原因导致的重新埋点繁复工作.本文主要介绍无码埋点的技术实现.  一.无码埋点

《无码的青春》第八章 无聊的周末

一帮程序员兄弟,总是能聚在一起的机会不多,即便是在一个充满诱惑的酒吧里.这个周末,小凡和明羽都在加班,我一个人不喜欢太喧闹的地方,酒吧的喧闹只能映衬内心的孤独,令人回想起伤心的往事. 一个人无聊,便下意识的选择来到了南图,不知道是对那一段记忆的怀念,还是习惯了这里的安静.迈进图书馆的大厅,过往的一幕幕像电影般回放,"人面不知何处去,桃花依旧笑春风".自从唐雨菲出国后,便很少联系了,偶尔联系,偶尔听她讲佛罗伦萨,讲克氏思维.目光轻轻的扫过书架,看到书,看到那一排排倍感亲切的书,立刻没有了

《无码的青春》第三章 忘情水

其实明羽的悲痛一方面是不舍那三年的感情,另一方面前女友在分手后,一边告诉他还爱着他,一边却只用了三个月就另觅新欢,而我也不得不佩服这女人的适应能力.三个理工男自然是木讷之极,不知道如何安慰这受伤的孩子,只能默默的陪着他一杯杯的喝着酒.还不时冒出几句狗血的话, "要不要找几个兄弟把那个男的揍一顿!" "旧的不去新的不来." "你当初就该把生米煮成熟饭." "哎,明显是内存溢出,GC失效了." "这不是GC的问题,是多线

《 无码的青春 》 第一章 又逢情人节

<thinking in java>多线程这一节还没翻几页,手机铃声又一次响起. 刚接通,那边响起了一个熟悉的声音,"东方,晚上出来陪我吃饭吧". 一点都不用犹豫,就知道是沈思雨的声音. "奥,,今天,今天,,,",我还没说完,那边的声音就又响起. "室友都出去约会了,,我,,不想一个人.你,今天不用约会吧.". "奥,不用,不用的,,,". "那好,五点半水游城门口见." "恩,好的

《无码的青春》 第二章 明羽的过去式

回到住的地方,登陆vpn,远程重启了一下服务器,查看了一下服务器日志,发现没有什么异常,给jerry发了一封email就ok了.刚打开微信,就看到沈思雨发来的消息,她回宿舍了.其实沈思雨是我大学的同班同学,毕业后,她在这个城市读研究生,我也在这个城市工作,而刚到这个城市的沈思雨并没有朋友,我很快成了她无话不谈的男闺蜜.打电话给那哥们,他正在lol,问我要不要一起玩,我说累了,不想玩. 程序员的日子总是过得那么快,不知不觉,一周就过去了.周六上午,当然是睡到自然醒的节奏,打开手机,看到微信上有一条

《无码的青春》第七章 御姐

之前我们各有各的故事,各有各的守护,然而今天却成了同一类人,失去了各自的女神,失去了自己的信仰,没有了牵挂,也不再需要对什么人负责.四个单身男人,在这个浮华的城市里尽情的释放着过剩的荷尔蒙.周末我们会聚在道哥的酒吧里,在浮光掠影的酒精和静静的音乐中沉沦,乃至迷失了自我.谈不上堕落,我们只是不再属于某一个女人,于是,我们让自己属于所有的女人.终有一天,我们会发现自己变了,甚至变成了自己曾经最讨厌的人的模样.当天空闭上眼睛时,便迎来了夜的黑,但是这黑夜从来不是永恒的,总会有那么一束阳光吻醒沉睡的天空

如何才能拍摄出高清无码?(附源码下载!)

要想拍摄出高清无码,摄像头很关键. 摄像头有两个重要的参数,一个是分辨率,一个是帧频. 附:设备测试demo源码下载 一.笔记本的自带摄像头的参数 Size就是摄像头的分辨率,MaxFrameRate是指摄像头采集能达到的最大帧频. 当然,我这个摄像头比较low,录制高清无码肯定是不行的. 二.外接摄像头测出来的参数. 附:设备测试demo源码下载 三.选定摄像头的分辨率和帧频来录制视频 现在选定的是1280*720,帧频为30fps. 录制得到的视频的参数信息如下: 附:视频录制demo源码下

[Silverlight]利用Blend 无码随意拖曳对象

想到以前,或是某F的开发工具,要做一个拖曳对象的行为就要请programmers来写一个这样的行为,不过现在微软在Blend 3在内建的行为中,可以让对象随意的拖曳. 先建立几个Rectangle. (这篇有点简单,所以画个搞笑的脸XD) 然后在资产=>行为 找到一个"MouseDragElementBehavior" 把他拉到你要拖曳的对象中 接下来我们来看一下属性 里面有只有一个属性"ContrainToParentBounds" 如果勾选的话,就是不让这

无码系列-2-代码架构空想【华为云技术分享】

无码系列-2-代码架构空想 原文地址:https://www.cnblogs.com/huaweicloud/p/12016529.html