5
我已成功集成Grizzly v2.1.9
与Jersey
和Spring
。但尝试将Grizzly
迁移到版本2.2.19
时无法使其工作。整合Grizzly2.2.X与泽西岛和春季
Grizzly v2.1.9
的原始码如下。
HttpServer server = new HttpServer();
NetworkListener listener = new NetworkListener("grizzly2", "localhost", 3388);
server.addListener(listener);
ServletHandler sa = new ServletHandler();
sa.setContextPath("/");
sa.setServletInstance(new SpringServlet());
sa.addContextParameter("contextConfigLocation", "classpath:spring-context.xml");
sa.addServletListener("org.springframework.web.context.ContextLoaderListener");
sa.addServletListener("org.springframework.web.context.request.RequestContextListener");
ServerConfiguration config = server.getServerConfiguration();
config.addHttpHandler(sa, new String[] {"/"});
server.start();
而且随着Grizzly v2.2.19
新的代码如下
HttpServer server = new HttpServer();
NetworkListener listener = new NetworkListener("grizzly2", "localhost", 3388);
WebappContext ctx = new WebappContext("ctx","/");
final ServletRegistration reg = ctx.addServlet("spring", new SpringServlet());
reg.addMapping("/*");
ctx.addContextInitParameter("contextConfigLocation", "classpath:spring-context.xml");
ctx.addListener("org.springframework.web.context.ContextLoaderListener");
ctx.addListener("org.springframework.web.context.request.RequestContextListener");
ctx.deploy(server);
server.start();
新的代码可以编译和也不例外执行。但是,所有应通过Jersey
转发到不同方法的网址现在都会转发到默认网页“/”。
UPDATE
有人谁遇到同样的问题。
后Grizzly2.2.20