سؤال

ما هي الطريقة الجيدة لعرض البيانات التي تنتجها عملية Java في المتصفح؟

لقد استخدمت على نطاق واسع JSP والأطر المرتبطة به (JSTL, الدعامات, نسيج, ، وما إلى ذلك)، بالإضافة إلى أطر عمل أكثر شمولاً لا تتعلق بـ JSP (جي دبليو تي, افتح لازلو).لم يكن أي من الحلول مرضيًا تمامًا على الإطلاق - في معظم الحالات يكون إطار العمل مقيدًا للغاية أو معقدًا للغاية بالنسبة لاحتياجاتي، بينما قد يتطلب البعض الآخر إعادة هيكلة واسعة النطاق للتعليمات البرمجية الحالية.بالإضافة إلى ذلك، يبدو أن معظم الأطر لديها مشاكل في الأداء.

أميل حاليًا إلى الحل المتمثل في كشف بيانات جافا الخاصة بي عبر servlet بسيط يقوم بإرجاع JSON، ثم عرض البيانات باستخدام PHP أو Ruby.وهذا له فائدة إضافية تتمثل في عرض خدمتي على الفور كخدمة ويب أيضًا، ولكنني أتساءل عما إذا كنت أقوم بإعادة اختراع العجلة هنا.

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

المحلول

أنا شخصيا استخدم نسيج 5 لإنشاء صفحات ويب باستخدام Java، لكنني أوافق على أنه قد يكون الأمر مبالغًا فيه بعض الشيء في بعض الأحيان.سأفكر في استخدام JAX-RS (مشروع جافا.نت, jsr311) إنه سهل الاستخدام جدًا، فهو يدعم تنظيم الكائنات وإلغاء تنظيمها من/إلى XML خارج الصندوق.من الممكن تمديده لدعم JSON عبر التخلي عن.

هناك تطبيقان قمت بتجربتهما:

  • جيرسي - التنفيذ المرجعي لـ JAX-RS.
  • راحة - التنفيذ الذي أفضّله، دعم جيد لتنظيم وإلغاء تنظيم مجموعة واسعة من التنسيقات.كما أنه مستقر جدًا ويحتوي على ميزات أكثر من جيرسي.

ألقِ نظرة على الكود التالي للتعرف على ما يمكن أن يقدمه لك JAX-RS:

@Path("/")
class TestClass {
    @GET
    @Path("text")
    @Produces("text/plain")
    String getText() {
        return "String value";
    }
}

ستعرض هذه الفئة الصغيرة نفسها في جذر الخادم (@Path في الفئة)، ثم تعرض طريقة getText() في URI /text وتسمح بالوصول إليها عبر HTTP GET.يخبر التعليق التوضيحيProduces إطار عمل JAX-RS بمحاولة تحويل نتيجة الطريقة إلى نص عادي.

أسهل طريقة للتعرف على ما هو ممكن مع JAX-RS هي قراءة تخصيص.

نصائح أخرى

كانوا يستخدمون شرائط.فهو يمنحك بنية أكثر من servlets المباشرة، ولكنه يتيح لك التحكم في عناوين URL الخاصة بك من خلال تعليق توضيحي @UrlBinding.نحن نستخدمه لبث ملفات xml وjson مرة أخرى إلى المتصفح لأشياء ajax.

يمكنك استهلاكها بسهولة باستخدام تقنية أخرى إذا كنت تريد السير في هذا الطريق، لكنك قد تستمتع بالفعل بالتطوير باستخدام الخطوط.

الدفع ريستليت للحصول على إطار عمل جيد لعرض نموذج المجال الخاص بك كخدمات REST (بما في ذلك JSON ومخرجات XML التافهة).

لتقديم معلوماتك، ربما يمكنك استخدام GWT من جانب العميل واستهلاك خدمات البيانات الخاصة بك؟إذا لم يطفو GWT على قاربك، فربما تفعله JQuery؟

ربما يمكنك إنشاء البيانات بتنسيق XML وعرضها باستخدام XSLT؟

لست متأكدًا من أن PHP أو Ruby هما الحل إذا لم تكن Java بالسرعة الكافية بالنسبة لك!

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