ما خادم الويب الذي يجب أن أستخدمه إذا كنت أرغب في تشغيل رمز جافا وراءه؟

StackOverflow https://stackoverflow.com/questions/2439909

سؤال

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

من ما يمكن أن أجده، يبدو أن هناك خياران قابل للتطبيق: اباتشي هر و Sun Java Server..

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

أي واحد؟

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

المحلول

سهلة ومرنة وغير مرهقة، وهذا سيكون جيتي, ، ولكن أيضا بسيطة من الممكن ان يكون مفيدا. أنت لا تقول الكثير عن البرنامج الخاص بك لذلك أنا لست متأكدا حقا، ولكن بالنسبة لبرنامج سطر الأوامر، لا أعتقد أنك بحاجة إلى كل الاشياء Javaee.
الخوادم الرئيسية هي هؤلاء.
أعتقد أن Apache Tomcat VS Classfish (Sun Java Server) مناقشة غير ذي صلة لاحتياجاتك، أي سيفعل.

نصائح أخرى

هناك العديد من الحاويات لتطبيقات الويب Java, ، لديهم جميعا نقاط القوة والضعف الخاصة بهم. إذا كنت تبحث عن حاوية لدعم تطبيق عمل، فربما نلقي نظرة على كيفية تختلفها وتتعامل مع عملك وبرامج تشغيلها.

الشيء الرئيسي هو أنهم جميعا يدعمون مواصفات Servlet - يمكن تشغيل WebApps في أي منها - مما يعني أنه يمكنك تغيير رأيك بسهولة. سيؤدي بعضهم أيضا إلى دعم المزيد من المواصفات من Java Enterprise Edition، لذلك قد يكون ثقيلا جدا لاحتياجاتك.

إذا كنت قد بدأت للتو، فاقترح Tomcat. إنها أساسية، لكنها موثوقة، سريعة في التشغيل والبدء، وحصلت على واجهة نشر WebApp سهلة سهلة.

سؤالك هو في الواقع غامضة للغاية واسعة. يمكنك في الواقع تشغيل رمز Java في أي الجهاز الذي تريده، بغض النظر عن اللغة التي برمجتها واجهة WebBased in. يمكنك على سبيل المثال إنشاء موقع موقع PHP الذي يتفاعل يتفاعل مع تطبيق Java "الخلفي" ("تطبيق سطر الأوامر" ("تطبيق سطر الأوامر" أثناء الاتصال به). الشرط الوحيد هو الحصول على جري في جهاز الخادم. ثم كل شيء أساسا كواجهة ويب واجهة الويب: CGI، PHP، ASP، Python، ETCetera، يمكنك تسميته. طالما أنه يمكن الوصول إلى وقت تشغيل Commandline الأساسي، وهو في مثال PHP الذي يجب القيام به من قبل exec().

ولكن Java، في الواقع Java EE، يوفر أيضا واجهة برمجة تطبيقات الويب: jsp./Servlet API., مكون الويب الكبير java ee api.. وبعد هذا جعل التكامل مع "تطبيق Java Commandline" أكثر سلسا. يمكنك فقط وضع طلبك في ClassPath واستيراد / الوصول / استخدامه في Servlet فئة حقيقة طريقة جافا:

YourApplication app = new YourApplication();
Result result = app.doStuff();
// ...

لتكون قادرا على تشغيل JSP / Servlet (JSP في النهاية أيضا Servlet)، فأنت بحاجة إلى الخرسانة تنفيذ API Servlet (Java EE بأكمله هو مجرد مواصفات مجردة). اباتشي هر من الجيد أن تبدأ مع، يجري البديل الشعبي الآخر eclipse jetty.. وبعد هذه هي "Simple" Servevertcontainers تنفذ API Servlet، مع كونه نهجا أكثر تضمينا منه (يمكنك تكوينه وتشغيله كأداة جافا "عادي الفانيليا"). ولكن إذا كنت بحاجة إلى دعم / تغطية الجوانب الأخرى ل API Java EE أيضا، فأنت بحاجة إلى خادم تطبيقات، مثل سمكة الشمس الشمس أو jboss as. (كلاهما الذي يستخدمه Tomcat كجزء من ServertcontAner).

لمعرفة المزيد عن JSP / Servlet، يمكنني أن أوصي Coreservlets.com دروس.

apache tomcat يجب أن تفعل الخير.

المفهوم القياسي لتشغيل التعليمات البرمجية داخل خادم الويب هو "Servlet API" من Sun.

أساسا يوفر بعض الواجهات التي يستخدمها خادم الويب لاستدعاء التعليمات البرمجية الخاصة بك، وتحدد كيف يجب أن يتصرف خادم الويب. يتيح لك ذلك كتابة رمز عام للغاية يمكن تشغيله في مجموعة متنوعة من حاويات الويب التي تنفذ API Servlet. انظر مقالة ويكيبيديا للحصول على التفاصيل - http://en.wikipedia.org/wiki/java_servlet..

أنها تأتي في جميع الأحجام أيضا، وهذا يتوقف على احتياجاتك. بعض صغير بما فيه الكفاية لتضمين التطبيق الخاص بك، بعض جدا كبير. API Servlet يسمح لك بعدم العناية.

بالنسبة للمبتدئين، فإن أسرع طريقة للاستيقاظ والتشغيل، هي تنزيل النسخة الكاملة من NetBeans والتي تشمل الدعم الكامل للقيام بهذا النوع من العمل، ولديها حاوية مضمنة في Servlet.

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