سؤال

أرغب في تقديم خدمة 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.)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top