小编Mea*_*ell的帖子

将本地文件传递到Java中的URL

URL为了进行单元测试,如何使用本地文件创建新对象?

java url junit

164
推荐指数
6
解决办法
23万
查看次数

使用Jackson JSON在Spring MVC中解析JSON

好吧,所以我现在已经看了一会儿,现在就没有了.我有一个Spring MVC servlet,我需要从JavaScript前端Web应用程序接受JSON.要解析JSON,我需要使用Jackson.我需要获取JSON中的值,并按照它们在JSON中出现的顺序将它们存储到List中.我已经尝试将JsonFactory与JsonParser和JsonNode对象一起使用,但可以让它完全正常工作.我还试图打开一个BufferedReader并逐行遍历请求体,但是再次也无法完成.我在这里看了几个相关的问题,但到目前为止都没有对我有用.

知道的任何人都可以在这里找到正确的方向吗,一个带有示例的网页会很棒!

java spring json spring-mvc jackson

40
推荐指数
1
解决办法
11万
查看次数

是否需要将ConcurrentHashMap包装在同步块中?

这样做,即ConcurrentHashMap(所有非retreival操作put(),remove()等等)需要被包裹在一个synchronized(this)块?我知道所有这些操作都是线程安全的,所以这样做有什么好处/需要吗?使用的唯一操作是put()remove().

protected final Map<String, String> mapDataStore = new ConcurrentHashMap<String, String>();

public void updateDataStore(final String key, final String value) {
    ...
    synchronized (this) {
        mapDataStore.put(key, value);
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

java synchronized concurrenthashmap

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

部署到Docker时外部化Spring Boot属性

在我的Spring Boot应用程序中,我想要将属性外部化以在Docker容器中运行.首次部署时,my-server/src/main/resources/application.yml应用程序按预期加载和使用当前所属的属性.一切正常.

但是,我的问题是我需要这些属性可以根据需要更新,所以我需要application.yml在Docker容器上访问一次该文件.但此时,它build/docker/在运行buildDocker任务之前未包含在目录中,因此在首次部署后不会复制或访问.

所以,我试过的是将Yaml文件复制到docker/构建目录,将其复制到可访问的目录(/opt/meanwhileinhell/myapp/conf),并使用该spring.config.location属性将配置的位置传递给我的Dockerfile中的Jar:

ENTRYPOINT  ["java",\
...
"-jar", "/app.jar",\
"--spring.config.location=classpath:${configDirectory}"]
Run Code Online (Sandbox Code Playgroud)

看看在Docker容器上运行的Command我可以看到这是预期的:

/app.jar --spring.config.location=classpath:/opt/meanwhileinhell/myapp/conf]
Run Code Online (Sandbox Code Playgroud)

但是,当我更新此文件中的属性并重新启动Docker容器时,它没有获取更改.文件权限是:

-rw-r--r-- 1 root root  618 Sep  5 13:59 application.yml
Run Code Online (Sandbox Code Playgroud)

文件规定:

配置自定义配置位置时,除默认位置外,还会使用它们.在默认位置之前搜索自定义位置.

我似乎无法弄清楚我做错了什么或错误解释,但更重要的是,这是将这种类型的Docker场景的配置外部化的正确方法吗?

docker spring-boot dockerfile spring-boot-configuration

22
推荐指数
6
解决办法
4万
查看次数

带有@符号的变量在Ant build.xml中的含义是什么?

谁能告诉我在ant build.xml文件中变量之前的@符号是什么意思?

<subant target="@{target}">
Run Code Online (Sandbox Code Playgroud)

非常感谢!

ant

13
推荐指数
1
解决办法
5909
查看次数

Spring无法解析servlet中的视图

我已经为我的一个servlet添加了一个新的方法/映射:

@RequestMapping(value = "/user/prefs/order", method = RequestMethod.POST)
public void updateUsersPrefs(@RequestBody Map<String, ArrayList> body, HttpServletRequest request) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

但是当我向此URL发送请求时,我收到500内部服务器错误,并显示以下错误消息:

javax.servlet.ServletException: Could not resolve view with name 'user/prefs/order' in servlet with name 'appfinder'
    org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1029)
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:817)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
    org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
Run Code Online (Sandbox Code Playgroud)

我不能为我的生活看到为什么这是报道.有人能帮忙吗?我已经提供了更多信息,请告诉我.

谢谢!

java spring

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

从iFrame读取父文档并更改父级

我正在尝试编写一个JavaScript应用程序,它将在页面上的iFrame中加载按钮.此应用程序将读取父文档并删除所有图像,应用最小样式并使用此新标记的页面重新加载父项.

我遇到的问题是从iFrame读取和写入父文档.有谁知道实现这一目标的方法?我已经阅读了一些关于跨域消息传递的内容,但我不确定其中的替代方案,哪种方式最好.

提前致谢.

javascript ajax iframe cross-domain

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

XMLHttpRequest.DONE值有问题吗?

我有一段需要调试的Javascript:

var httpRequest = new XMLHttpRequest();
httpRequest.onreadystatechange = function() {
    if (this.readyState === XMLHttpRequest.DONE) {
        if (this.status === 200) {
            success = true;
        }
    }
};
Run Code Online (Sandbox Code Playgroud)

逐步浏览Chrome和Firefox,我发现第一个"if"失败了.我可以看到"this.readyState"设置为"1",根据W3C规范来判断应该是"打开".将鼠标悬停在Firebug中的".DONE"段上会将其显示为未定义而不是"4".

http://www.w3.org/TR/XMLHttpRequest/#states

Firefox和Chrome中是否存在不支持这些值的问题?

提前致谢!

javascript xmlhttprequest

7
推荐指数
2
解决办法
7783
查看次数

使用Bash在特定行之前插入多行文本

我试图在特定行之前插入几行文本,但在尝试添加新行字符时不断出现sed错误.我的命令看起来像:

sed -r -i '/Line to insert after/ i Line one to insert \\
    second new line to insert \\
    third new line to insert' /etc/directory/somefile.txt
Run Code Online (Sandbox Code Playgroud)

报告的错误是:

sed: -e expression #1, char 77: unterminated `s' command
Run Code Online (Sandbox Code Playgroud)

我试过,使用\n,\\(如上例),无字可言,只是移动第二行到下一行.我也尝试过类似的东西:

sed -r -i -e '/Line to insert after/ i Line one to insert'
    -e 'second new line to insert'
    -e 'third new line to insert' /etc/directory/somefile.txt
Run Code Online (Sandbox Code Playgroud)

编辑!:道歉,我希望文本在现有之前插入,而不是之后!

unix bash sed text-manipulation

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

跨越Windows和Linux的P4 Root和Altroot

我有一个我在Linux和Windows环境中共享的P4客户端,使用客户端规范中的"Root"(Linux)和"Altroot"参数("Host"被删除).有谁知道是否可以配置P4来镜像两个平台上的目录?我的意思是,如果我在我的Linux工作区中检出文件并进行编辑,我可以以某种方式配置P4来更新我的Windows框上的工作区,以便在将文件签入存储库之前打开并编辑相同的文件吗?我不认为这是可能的,但我要求以防有人知道某种方式.

编辑:是否可以使用Git执行此操作?所有的源都存储在P4 repo中工作,但是如果可能的话我可以设置一个本地Git仓库?

谢谢.

git perforce p4v

5
推荐指数
1
解决办法
1428
查看次数