小编Bul*_*aur的帖子

带表单和Spring Controller的UTF-8编码

我正在尝试提交一个表单,其中包含UTF8字符.表单如下所示:

<form id="workflowPersistForm" accept-charset="UTF-8" method="post" action="/workflow-next">>
  <input id="stateGlobal" type="hidden" value=" ??????" name="state">
</form>
Run Code Online (Sandbox Code Playgroud)

我的服务器是基于弹簧的.我的web.xml已经有了编码过滤器:

 <filter>
     <filter-name>EncodingFilter</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>
Run Code Online (Sandbox Code Playgroud)

问题是UTF-8字符在某个地方搞砸了.我在控制器的开始处设置了一个断点,并且字符在这一点上被弄乱了.此外,如果我在Controller中生成UTF8字符,它将在浏览器中正确呈现.就在表格帖子上,控制器没有正确接收字符.

知道我可能做错了什么吗?

编辑:看起来,在新页面数据中没有弄乱,但是它是双重编码的.我无法理解为什么它是双重编码的.

编辑2:当我更改表单而不是发布时,一切都很完美.我不知道哪个帖子坏了.

html forms spring spring-mvc utf-8

9
推荐指数
1
解决办法
2万
查看次数

我们可以将DynamoDB Mapper用于原子计数器(Java)吗?

我正在查看DynamoDB文档和谷歌搜索,但我找不到任何使用DynamoDB映射器的原子计数器的实现.

这可能吗?或者只有低级API可用于此?

java amazon-dynamodb

6
推荐指数
1
解决办法
2299
查看次数

使用 HttpAsyncClients:长时间保持连接活动

我正在尝试在我的应用程序中使用 HTTPAsyncCLient 进行即发即忘。

http://hc.apache.org/httpcomponents-asyncclient-4.0.x/

但对于真正的即发即忘,我需要避免关闭客户端,因为我不想等待响应,如果我关闭,则可能直到那时才建立连接。

       CloseableHttpAsyncClient httpclient = HttpAsyncClients.createDefault();
       httpclient.start();
       HttpGet request = new HttpGet(url);
       Future<HttpResponse> future = httpclient.execute(request, null);
       HttpResponse resp = future.get();
       httpclient.close();
Run Code Online (Sandbox Code Playgroud)

所以一个想法是我不关闭 httpclient,并继续将它用于多个 URL。因此,我将在服务器启动时生成一个客户端,并继续对所有请求使用相同的客户端。

这样,就不需要关闭,因为只有当服务器停止时才会释放它。我的问题是这会成为问题吗?一段时间后客户端会变得陈旧吗?

java http apache-httpclient-4.x

3
推荐指数
1
解决办法
2258
查看次数