servlets والمحتوى الثابت مع jruby jetty jetty
-
06-07-2019 - |
سؤال
أرغب في تقديم خدمة Servlets ومحتوى ثابت مع رصيف مضمن في Jruby. حاولت هذا:
server = Server.new(8080)
context = Context.new(server, '/', 0)
context_static = Context.new(server, '/static', 0)
context_static.setHandler(ResourceHandler.new)
context_static.setResourceBase('./')
context_static.setContextPath('/static')
servlet = Servlet.new()
holder = ServletHolder.new(servlet)
context.addServlet(holder, '/')
server.start()
المشكلة هي أن http: // localhost: 8080/static لا يعمل كـ exepecte ولكنه يوضح أيضًا المحتوى الذي أنشأه Servlet وليس المحتوى الثابت.
فيما يتعلق بـ servlet: لقد استخدمت لأول مرة javax.servlet.http.httpservlet ولكن بعد ذلك تحولت إلى org.mortbay.jetty.servlet.defaultservlet حيث يبدو أن ذلك يجعل الخدمة الموازية ممكنة. سأكون رائعًا لأي تلميحات لحل هذه المشكلة.
المحلول
حاول التهيئة context_static
قبل context
(نظرًا لأن المُنشئين يأخذون وسيطة خادم ، أفترض أن ترتيب إنشاء مثيل يؤثر على ترتيب التسلسل للسياقات). (جربته باستخدام Jetty 6 و Clojure.)
لا تنتمي إلى StackOverflow