سؤال

أنا أعمل على موقع ويب يعمل في Tomcat الذي يخزن الكثير من البيانات الأعضاء، وأنا لست متأكدا من كيفية أفضل الحزمة.

أريد أن أكون قادرا على نشر حرب بسهولة دون الحاجة إلى إزالة أي شيء منه أولا.

كان من الفكر الأول هو كسر البيانات الأعضاء في دليله خارج الحرب، لكن مشكلتي هي أن بعض هذا المحتوى يجب ربطه في موقع الويب (الصور، إلخ).

يجب أن يكون هناك حلا أفضل من نشر حرب، ثم نسخ البيانات. هل يوجد لدى احد أي اقتراحات؟

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

المحلول

كان فكرتك الأولى صحيحة. تخزين البيانات في Direcotry الخارجي هو أفضل حل. يمكنك بسهولة إصلاح مشكلة مع الصور عن طريق إنشاء Servlet والتي من شأنها الوصول إلى هذا الدليل الخارجي على طلب الصورة.

لا يمكنني نشر التعليمات البرمجية الخاصة بي، ولكن هنا هو مقتطف مماثل يخلق استجابة. عليك فقط إنشاء فئة تمديد Fileservlet وكتابة التعليمات البرمجية لتحميل الملف من الدليل الخاص بك.

http://snippets.dzone.com/posts/show/4629.

ثم، أضف هذا إلى Web.xml الخاص بك:

<servlet>
    <servlet-name>My File Servlet</servlet-name>
    <servlet-class>my.package.FileServlet</servlet-class>
    <load-on-startup>0</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>My File Servlet</servlet-name>
    <url-pattern>/upload/*</url-pattern>
</servlet-mapping>

وكل رابط مثل http://myapp.com/upload/userimage.jpg. سيتم إنشاؤها بواسطة servlet

نصائح أخرى

يجب عليك بالتأكيد فصل بياناتك من طلبك. بما أنني غير متأكد من الأسباب التي أجريتها في الأصل لوضع البيانات الأعضاء (على ما يبدو الصور وشيء آخر) يمكنني تقديم اقتراحات بناء على بيئة أكثر مثالية.

إذا كنت تخزن معلومات عن الكثير من الأشخاص المختلفين وتحتاج إلى الوصول إليها في أماكن متعددة، فلماذا لا تختار استخدام قاعدة بيانات؟ ربما حتى واحدة مجانية مثل postgresql أو mysql؟

إذا قمت بتخزين بياناتك في قاعدة بيانات، فمن السهل استردادها من خلال Java، إما استخدام Orm مثل السبات أو مجرد مكتبات JDBC الأساسية. هذا يفترض أنك تفهم SQL وطبقة قاعدة البيانات في Java.

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

من الصعب تقديم حل جيد دون مزيد من التفاصيل حول المشكلة وإعداد الخادم الخاص بك.

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