"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية استدعاء Servlet من JSP عند تحميل الصفحة لعرض البيانات؟

كيفية استدعاء Servlet من JSP عند تحميل الصفحة لعرض البيانات؟

تم النشر بتاريخ 2024-12-21
تصفح:375

How to Call a Servlet from a JSP on Page Load to Display Data?

كيفية استدعاء Servlet من JSP عند تحميل الصفحة

في بعض السيناريوهات، قد تحتاج إلى استدعاء servlet من ملف JSP بدون باستخدام نموذج HTML. على سبيل المثال، لعرض نتائج استعلام قاعدة البيانات في جدول HTML عند تحميل الصفحة.

الحل باستخدام طريقة doGet ()

تسمح طريقة doGet () في servlet بـ طلب المعالجة المسبقة وإعادة التوجيه إلى JSP. إليك كيفية تنفيذ ذلك:

  1. تنفيذ 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);
        }
    }
  2. الوصول إلى بيانات Servlet في JSP:

    ...
    
    ${product.name} ${product.description} ${product.price}

من خلال القيام بذلك، يمكن لملف JSP الوصول إلى الكائنات التي تم تعيينها بواسطة servlet في طريقة doGet() الخاصة به، مما يتيح إنشاء محتوى ديناميكي.

منع الوصول المباشر إلى JSP

لأسباب أمنية، يجب وضع ملف JSP داخل المجلد /WEB-INF، مما يمنع الوصول المباشر عن طريق users.

ملاحظة

يتطلب التعليق التوضيحي @WebServlet Servlet 3.0 أو أعلى. إذا كنت تستخدم إصدارًا أقدم، فيجب عليك تسجيل servlet يدويًا في ملف web.xml.

References

  • [Servlets Wiki Page]( https://wiki.java.net/bin/view/Projects/Servlets)
  • [doGet وdoPost in Servlets](https://javarevisited.blogspot.com/2011/05/java-servlet-doget-and-dopost-method-example.html)
  • [كيفية تجنب كود Java في JSP](https://stackoverflow.com/questions/5521006/ways-to-avoid-Java-code-in-jsp-in-a-best-practice-manner)
  • [إرجاع Servlet "HTTP" الحالة 404 المورد المطلوب (/ servlet) غير متوفر"]
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3