- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在 Jersey 中创建了这个测试(来自 docs ),它工作正常,但有一个问题:未调用 @WebListener ServletContextListener
。
我需要测试的资源类依赖于 ServletContextListener 在 ServletContext 上设置的属性。
我能否确保它被调用,或者我能否以其他方式操纵 ServletContext?
public class SimpleTest extends JerseyTest {
@WebListener
public static class AppContextListener implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent event) {
System.out.println("Context initialized");
}
@Override
public void contextDestroyed(ServletContextEvent event) {
System.out.println("Context destroyed");
}
}
@Path("hello")
public static class HelloResource {
@GET
public String getHello() {
return "Hello World!";
}
}
@Override
protected Application configure() {
return new ResourceConfig(HelloResource.class);
}
@Test
public void test() {
final String hello = target("hello").request().get(String.class);
assertEquals("Hello World!", hello);
}
}
我添加了这些依赖项以使其工作:
<dependency>
<groupId>org.glassfish.jersey.test-framework</groupId>
<artifactId>jersey-test-framework-core</artifactId>
<version>2.18</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.test-framework.providers</groupId>
<artifactId>jersey-test-framework-provider-grizzly2</artifactId>
<version>2.18</version>
</dependency>
最佳答案
JerseyTest
需要设置为在 Servlet 环境中运行,如 mentioned here .以下是好的部分:
@Override
protected TestContainerFactory getTestContainerFactory() {
return new GrizzlyWebTestContainerFactory();
}
@Override
protected DeploymentContext configureDeployment() {
ResourceConfig config = new ResourceConfig(SessionResource.class);
return ServletDeploymentContext.forServlet(new ServletContainer(config))
.addListener(AppContextListener.class)
.build();
}
查看 API
ServletDeploymentContext
和ServletDeployementContext.Builder
(这是在 ServletDeploymentContext
上调用 forServlet
时返回的内容)。关于java - Jersey JUnit 测试 : @WebListener ServletContextListener not invoked,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30896911/
我使用 Spring 4 并且想要使用 ServletContextListener 。当我向类添加 @WebListener 注释时,Eclipse IDE 显示编译错误。此外,实现还显示编译错误。
我有一个标记为 @WebListener 的 servlet。 public void contextInitialized(ServletContextEvent event) {
我有一个用@WebListener 注释的类,它扩展了我正在测试的另一个类所依赖的 ServletContextListener。当我手动测试(即在 Tomcat 中运行)时,它可以工作,但在我的 J
在我的 JIRA 插件中,我创建了一个 WebListener,它将一个 websocket 端点添加到 SeverContainer。 问题是,当我更改我的插件并将其上传到 JIRA 时,新代码没有
我编写了一个 AspNetCore.Mvc v. 1.1.0 应用程序,并使用 WebListener 服务器自行托管它。根据我读过的文档,我没有使用 IIS 集成。它在我的机器上调试得很好。当我将其
Initial Problem 嗨, 我使用 @WebListener 类在应用程序部署时启动 RMI 连接。这将我的 JSF 前端与后端连接起来。 效果很好! 接下来,我想将连接交给 Managed
我在 Jersey 中创建了这个测试(来自 docs ),它工作正常,但有一个问题:未调用 @WebListener ServletContextListener。 我需要测试的资源类依赖于 Serv
我正在尝试在 Restful 服务开始时启动后台任务。但是,我似乎既不能使用 @WebListener 也不能使用 @Schedule。我认为这是一个 servlet 版本问题,但这是我第一次使用这种
文末http://www.asp.net/vnext/overview/aspnet-vnext/create-a-web-api-with-mvc-6它描述了如何使用 Microsoft.AspNe
既然 ASP.Net Core 已经发布,我觉得是时候提出这个问题了。 对于我的 Web 应用程序,由于对 Windows ID 的自托管和 NTLM 身份验证的业务需求,我需要使用 WebListe
Asp.Net vNext 与主机无关,应用程序可以托管在符合 OWIN 标准的许多平台上。根据我从周围开发人员那里听到的讨论,典型的 vNext 应用程序可以托管在 Helios、Kestrel 上
我将 HelloMvc 项目文件夹复制到另一个文件夹“Ricky”并运行 kpm restore,我得到以下输出: 我不知道出了什么问题。 “kpm restore”在其从 asp.net/home
我正在尝试使用 WebListener 服务在 IIS 下托管一个 ASP.NET Core 应用程序,并试图让它使用 Windows 身份验证。但是,当为我的“web”命令指定 WebListene
我正在使用最新的 ServiceFabric SDK (v1.4.87.9494) 和 VS2015 Update1 和最新的 ASP.NET 5 RC1 更新 (v1.0.11125.0)。 当我将
我想在 service fabric 集群中为两个不同的 web 应用程序(webpi/website)共享 http/80 端口,应用程序必须有 2 个不同的主机名: mywebapi.com 和
我是一名优秀的程序员,十分优秀!