سؤال

أريد أن أتعاطف مع Servlet إلى عناوين URL التي تنتهي /, ، مثل /user/register/, /user/login/, ، ولكن ليس أي مورد آخر تحت هذا المسار ، لا /*.

حاولت /*/, ، لكنه لا يعمل.

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

المحلول

قد أكون مخطئًا ، لكنني لست متأكدًا من أن هذا ممكن. يستخدم Wildcard * فقط في نهاية أنماط عنوان URL:

# this is a valid pattern to match anything after root:
*/
# this does not match anything because nothing can come after *
/*/
# this would match anything after the . that was htm
*.htm

نصائح أخرى

خريطة أ Filter على /* ودعه يحدد ما إذا كان الطلب يحتاج إلى تمرير عبر servlet أم لا.

if (request.getRequestURI().endsWith("/")) {
    request.getRequestDispatcher("/servleturl").forward(request, response);
} else {
    chain.doFilter(request, response);
}

بهذه الطريقة يمكنك فقط تعيين المطلوب Servlet على /servleturl.

قائمة الترحيب هي ما تبحث عنه. تحت قائمة الترحيب ، يمكنك تحديد قائمة بملفات الترحيب (كل منها تحت علامة ترحيبها الخاصة). عندما ينتهي عنوان URL للطلب /، سيبحث التطبيق عن وجود أحد تلك الملفات التي ذكرتها في قائمة ترحيب ملفات (بالترتيب الذي حددته هناك) تحت المجلد الذي أشار إليه عنوان URL ، و خدمة هذا المورد.

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