كيفية استدعاء Servlet من JSP عند تحميل الصفحة
في بعض السيناريوهات، قد تحتاج إلى استدعاء servlet من ملف JSP بدون باستخدام نموذج HTML. على سبيل المثال، لعرض نتائج استعلام قاعدة البيانات في جدول HTML عند تحميل الصفحة.
الحل باستخدام طريقة doGet ()
تسمح طريقة doGet () في servlet بـ طلب المعالجة المسبقة وإعادة التوجيه إلى JSP. إليك كيفية تنفيذ ذلك:
تنفيذ doGet() في Servlet:
@WebServlet("/products") public class ProductsServlet extends HttpServlet { ... protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ... request.getRequestDispatcher("/WEB-INF/products.jsp").forward(request, response); } }
الوصول إلى بيانات Servlet في JSP:
...
${product.name} | ${product.description} | ${product.price} |
من خلال القيام بذلك، يمكن لملف JSP الوصول إلى الكائنات التي تم تعيينها بواسطة servlet في طريقة doGet() الخاصة به، مما يتيح إنشاء محتوى ديناميكي.
منع الوصول المباشر إلى JSP
لأسباب أمنية، يجب وضع ملف JSP داخل المجلد /WEB-INF، مما يمنع الوصول المباشر عن طريق users.
ملاحظة
يتطلب التعليق التوضيحي @WebServlet Servlet 3.0 أو أعلى. إذا كنت تستخدم إصدارًا أقدم، فيجب عليك تسجيل servlet يدويًا في ملف web.xml.
References
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3