سؤال

أنا أتعلم Spring MVC (و Servlets بشكل عام) وبعد مثال MVC-Ajax من Springsource ، والذي يستخدم أساليب وحدة التحكم المشروحة. يبدو أن هناك فقط عنوان URL واحد (في web.xml) تم تعيينه إلى servlet في هذا المثال:

/برنامج/*

لقد قمت بنشر التطبيق كملف حرب ، وعنوان URL الفعلي القبيح الذي أطلبه هو http://127.0.0.1:8080/org.springframework.samples.mvc.ajax-1.0.0-20100407.233245-1/account.

لذلك ، يبدو أن "التطبيق" في "/app/*" هو متغير يتوافق مع "org.springframework.samples.mvc.ajax-1.0.0-20100407.233245-1 ، ومع ذلك ، فهو ليس عالمي "يمكن استخدامه في تطبيقي الخاص ، ويتناقض مع فهمي أن نماذج عنوان URL تحتوي على جزء من عنوان URL بعد اسم التطبيق. إذن ، ما هو "التطبيق"؟ أين تم تكوينه؟

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

المحلول

ألق نظرة على urlrewrite.xml ملف.

هذا هو المكان الذي يتم تعريفه على أن جميع عناوين URL الواردة (باستثناء تلك التي تبدأ /styles/, /scripts/, /images/ ) سيتم إعادة كتابة مع /app/ في البداية

<rule>
   <from>/**</from>
   <to>/app/$1</to>
</rule>

لذلك عندما يصل إلى servlet المرسل ، يكون عنوان URL في النموذج /app/myOriginalPath.

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