Próbuję wdrożyć interfejs REST API oparty na sieci Spring-East przy użyciu Grizzly's com.sun.grizzly.http.embed.GrizzlyWebServer
. Chcę również używać statycznych treści przy użyciu tego samego. Oto co mam:GrizzlyWebServer + Spring + Jersey + wyświetlaj statyczną treść z poziomu JAR
String host = "localhost";
int port = 8081;
// For jersey + Spring
ServletAdapter jAdapter = new ServletAdapter("jersey");
jAdapter.setContextPath("/api");
jAdapter.setServletInstance(new SpringServlet());
jAdapter.addContextParameter("contextConfigLocation", "classpath:spring-context.xml");
jAdapter.addServletListener("org.springframework.web.context.ContextLoaderListener");
jAdapter.addServletListener("org.springframework.web.context.request.RequestContextListener");
// create GrizzlyWebServer
GrizzlyWebServer grizzlyServer = new GrizzlyWebServer(host, port, "webapp", false);
// add jersey adapter
grizzlyServer.addGrizzlyAdapter(jAdapter, new String[]{"/api"});
// start server
grizzlyServer.start();
System.out.println("Start running server(host: " + host + ",port: " + Integer.toString(port));
System.out.println("Press any key to stop the server.");
// hang on
System.in.read();
// stop
grizzlyServer.stop();
The Jersey „Adapter” działa dobrze, ale nie jestem w stanie uzyskać statyczny obecny w folderze „webapp” aby Mu służono (Błąd 404).
Mój projekt struktura folderów jest następująca:
GrizzlyTest
-- src
| |
| -- main
| |
| -- java
| -- resources
| |
| -- webapp
| | |
| | -- index.html
| -- spring-context.xml
|
-- pom.xml
Am I pomyłki w dostarczaniu ścieżkę „webapp” w linii new GrizzlyWebServer(host, port, "webapp", false);
??
Czy istnieje inny sposób wyświetlania zawartości statycznej?
Dzięki Alexey. Mam pytanie dotyczące uwierzytelniania na żądania zasobów statycznych z słoików, więc przez CLStaticHttpHandler kontra StaticHttpHandler. To nie jest udowodnione, ale wygląda na to, że uwierzytelnienie nie jest stosowane do pierwszego, ale jest stosowane do tego ostatniego? Ten wiersz w 'WebappContext' może wyjaśnić to:' if (! (H instanceof StaticHttpHandler)) '(grizzly-http-servlet-2.3.17.jar). Myśli? Dzięki. – user598656
cóż, z tego, co znalazłeś, wygląda na to, że mogą wystąpić pewne problemy. Czy możesz to zrobić. udostępnić testrę na githubie - łatwiej będzie mi podwójnie sprawdzić. – alexey