2013-01-14 46 views
5

我已成功集成Grizzly v2.1.9JerseySpring。但尝试将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

回答

3

最后我发送电子邮件至java.net后得到一个解决办法这是固定的。

变化

WebappContext ctx = new WebappContext("ctx","/"); 

WebappContext ctx = new WebappContext("ctx",""); 

可以关注该link了解更多详情。