سؤال

<servlet>
    <servlet-name>myservlet</servlet-name>
    <servlet-class>workflow.WDispatcher</servlet-class>
    <load-on-startup>2</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>myservlet</servlet-name>
    <url-pattern>*NEXTEVENT*</url-pattern>
</servlet-mapping>

أعلاه هو المقتطف من Tomcat's web.xml.نمط URL *NEXTEVENT* عند رميات البدء

java.lang.IllegalArgumentException:<url-pattern> غير صالح في تعيين servlet

سيكون موضع تقدير كبير إذا تمكن شخص ما من التلميح إلى الخطأ.­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­

هل كانت مفيدة؟

المحلول

<url-pattern>*NEXTEVENT*</url-pattern>

نمط عنوان URL غير صالح.يمكن أن ينتهي إما بعلامة النجمة أو يبدأ بواحدة (للإشارة إلى تعيين امتداد الملف).

مواصفات نمط URL:

  • يتم استخدام سلسلة تبدأ بحرف "/" وتنتهي مع لاحقة "/*" لرسم خرائط المسار.
  • سلسلة تبدأ بـ "*." يتم استخدام البادئة كتعيين تمديد.
  • تشير سلسلة تحتوي فقط على حرف "/" إلى servlet "الافتراضي" للتطبيق.في هذه الحالة ، يكون مسار Servlet هو الطلب URI ناقص مسار السياق ومعلومات المسار فارغة.
  • يتم استخدام كافة السلاسل الأخرى للمطابقات التامة فقط.

انظر القسم 12.2 من مواصفات جافا سيرفلت الإصدار 3.1 لمزيد من التفاصيل.

نصائح أخرى

الحل البديل الذي يمكنه تحقيق ذلك هو إضافة مرشح servlet لإجراء إعادة كتابة عنوان URL على سبيل المثال.اعادة كتابة الحدث القادم إلى /الحدث التالي/(الحدث الذي يسبق الحدث التالي)/(الواحد بعد NEXTEVENT) أو شيء مشابه.

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