5

との統合に成功しましGrizzly v2.1.9た。しかし、バージョンに移行しようとすると機能しませんでした。JerseySpringGrizzly2.2.19

の元のコード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();

新しいコードは、例外なくコンパイルして実行できます。ただし、別のメソッドに転送する必要のあるすべてのURLJerseyは、すべてデフォルトページ「/」に転送されるようになりました。

アップデート

同じ問題を抱えている人のために。

Grizzly2.2.20以降で修正されています

4

1 に答える 1

3

最後に、電子メールを java.net に送信した後、回避策を取得します。

変化する

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

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

詳細については、このリンクをたどることができます。

于 2013-01-15T07:35:57.980 に答える