小编oto*_*nan的帖子

使用Spring Boot和annotations配置ViewResolver为HTTP请求找不到URI错误的映射

我正在尝试使用gradle,spring boot和spring mvc以最简单的视图解析器和html制作"hello world"应用程序.

我从thymeleaf spring boot示例开始,我只想删除thymeleaf,使用纯html和InternalResourceViewResolver创建一个更简单的mvc应用程序.我有一个greeting.html我想要服务,它位于src/main/webapp/WEB-INF.当我运行应用程序时,我得到了

No mapping found for HTTP request with URI [/WEB-INF/greeting.html] in DispatcherServlet with name 'dispatcherServlet'
Run Code Online (Sandbox Code Playgroud)

这是一个常见的错误,网上有很多答案,但似乎没有任何帮助.

这是我的Application.java

@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的GreetingController.java

@Controller
public class GreetingController {
    @RequestMapping("/greeting")
    public String greeting() {
        return "greeting";
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的MvcConfiguration.java

@Configuration
@EnableWebMvc
public class MvcConfiguration extends WebMvcConfigurerAdapter{
    @Bean
    public ViewResolver getViewResolver() {
        InternalResourceViewResolver resolver = new InternalResourceViewResolver();
        resolver.setPrefix("/WEB-INF/");
        resolver.setSuffix(".html");
        return resolver;
    }
}
Run Code Online (Sandbox Code Playgroud)

我用它来运行它 …

java spring spring-mvc gradle spring-boot

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

安装程序使用docker保护Jenkins master

我想在带有docker的ec2上建立一个安全的Jenkins主服务器.我在这里使用标准的jenkins docker文件:https://registry.hub.docker.com/_/jenkins/

默认情况下,它会打开一个不安全的8080 http端口.但是我希望它使用带https的标准443端口(起初我想使用自签名的ssl证书).

我在这个主题上进行了一些研究,发现了几种可能的解决方案.我对docker并不熟悉,所以我仍然找不到一个我可以使用或实现的简单的.以下是我发现的一些选项:

有人可以体验请推荐我最好的解决方案吗?

PS我不确定ec2会给我带来多少麻烦,但我认为它只是在一个安全组中打开443.

ssl https amazon-ec2 jenkins docker

16
推荐指数
2
解决办法
9451
查看次数

在使用Spring进行集成测试期间模拟外部服务器

我有一个Spring Web服务器,根据请求对某些第三方Web API进行外部调用(例如,retreive Facebook oauth令牌).从此调用获取数据后,它会计算响应:

@RestController
public class HelloController {
    @RequestMapping("/hello_to_facebook")
    public String hello_to_facebook() {
        // Ask facebook about something
        HttpGet httpget = new HttpGet(buildURI("https", "graph.facebook.com", "/oauth/access_token"));
        String response = httpClient.execute(httpget).getEntity().toString();
        // .. Do something with a response
        return response;
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在编写一个集成测试,检查在我的服务器上点击url会导致一些预期的结果.但是我想在本地模拟外部服务器,这样我甚至不需要上网来测试所有这些.做这个的最好方式是什么?

我是春天的新手,这是我到目前为止所做的.

@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = Application.class)
@WebAppConfiguration
@IntegrationTest({})
public class TestHelloControllerIT {        
    @Test
    public void getHelloToFacebook() throws Exception {
        String url = new URL("http://localhost:8080/hello_to_facebook").toString();
        //Somehow setup facebook server mock ...
        //FaceBookServerMock facebookMock = ...

        RestTemplate template = new …
Run Code Online (Sandbox Code Playgroud)

spring integration-testing spring-security spring-boot

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

如果导入PySide,python子进程在numpy点上崩溃

当使用带有numpy和PySide导入的pytnon多处理池时,我的机器上发生了这种非常特殊的悬挂.这是我迄今为止在生活中看到的最纠结的错误:)以下代码:

import numpy as np
import PySide


def hang():
    import multiprocessing
    pool = multiprocessing.Pool(processes = 1)
    pool.map(f, [None])


def f(ignore):
    print('before dot..')
    np.dot(np.zeros((128, 1)), np.zeros((1, 32)))
    print('after dot.')


if __name__ == "__main__":
    hang()
    print('success!')
Run Code Online (Sandbox Code Playgroud)

仅在'点之前'挂起打印.但它应该打印

before dot..
after dot.
success!
Run Code Online (Sandbox Code Playgroud)

我不是gdb专家,但看起来像gdb显示进程在'np.dot'行退出(或崩溃):

[Inferior 1 (process 2884) exited normally]
Run Code Online (Sandbox Code Playgroud)

我可以采取一些神奇的修改来防止悬挂:

  • 如果你减少进入'点'的数组的形状(例如从128到127)
  • (!)如果你将进入'dot'的数组的形状从128增加到256
  • 如果你不使用多处理并只运行函数'f'
  • (!!!)如果你注释掉在代码中没有使用的PySide导入

任何帮助表示赞赏!

包装版本:

numpy = 1.8.1或1.7.1 PySide = 1.2.1或1.2.2

Python版本:

在达尔文上的Python 2.7.5(默认,2013年9月12日,21:33:34)[GCC 4.2.1兼容的Apple LLVM 5.0(clang-500.0.68)]

要么

在达尔文上的Python 2.7.6(默认,2014年4月9日,11:48:52)[GCC 4.2.1兼容的Apple LLVM 5.1(clang-503.0.38)]

注意:在寻找信息时,我简化了原始代码并提出了一些问题.但是这里有一堆更新,以便为可能遇到此错误的其他人保留历史记录(例如,我开始使用matplotlib,而不是使用pyside)

更新:我缩小了pylab import以导入带有pyside后端的matplotlib并更新了要运行的代码.

更新:我正在修改帖子只导入PySide而不是:

import …
Run Code Online (Sandbox Code Playgroud)

python numpy multiprocessing pyside

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