"সঠিক উপায় কি?" এর স্বাভাবিক উত্তর বা "এটি কি সঠিক উপায়?" এটা ..... এটা নির্ভর করে ।
আমি কেবল যা করতে পারি তা হ'ল নির্দিষ্ট ধারণাগুলির পক্ষে মতামত cons যা অনুসরণ করে তা আমার মতামত 100%। আমি কোনও নির্দিষ্ট প্রয়োজনীয়তা বা নিয়ম জানি না। আমি নিশ্চিত কেউ আমার সাথে দ্বিমত পোষণ করবে।
JSP এর
আসুন আমরা জেএসপি-কে ওয়েবে-আইএনএফ-এ রাখি কিনা সে বিষয়ে কাজ করি।
জেএসপি'র ওয়েব-আইএনএফ-এ রাখার প্রসেস:
- আপনি কীভাবে জাসপকে কার্যকর করা হয় তা নিয়ন্ত্রণ করুন। আপনি যদি কোনও জেএসপিটিকে প্যারামিটারাইজড এবং পুনরায় ব্যবহারের যোগ্য করতে চান (যা কোনওভাবেই জেএসপি-র সাথে সত্যই শক্ত) তবে আপনি এগুলি ওয়েবে-আইএনএফ-এ রাখতে পারেন এবং প্রাক-প্রসেসিংয়ের জন্য একটি সার্লেট বা স্ট্রুটস অ্যাকশন কন্ট্রোলার বা অন্য কোনও ফ্রন্ট কন্ট্রোলার ব্যবহার করতে পারেন এবং তারপরে সঠিক পরিবেশের প্রসঙ্গে (যেমন অনুরোধের বৈশিষ্ট্য, কোনও সুরক্ষা চেক, প্যারামিটার স্যানিটেশন ইত্যাদি) জেএসপিতে নিয়ন্ত্রণ পাস করুন)
- আপনি ওয়েবমূলে কোনও জেএসপি আপলোড করার সম্ভাবনা কমাতে এবং তারপরে ওয়েব সার্ভার হিসাবে কোড কার্যকর করতে সক্ষম হবার জন্য আপনি প্রোগ্রামিকভাবে বা ফায়ারওয়াল বা আইডিএস স্তরের ব্লক এইচটিটিপি * .jsp এর অনুরোধ করতে পারেন। তাদের একটি বিদ্যমান জেএসপিকে অতিরিক্ত লিখতে হবে। কোনও বিশাল সুরক্ষা লাভ নয়, তবে এটি আপসকে কিছুটা শক্ত করে তোলে।
- বড় অভীষ্ট জেএসপির বিপরীতে এমভিসি, ফ্রন্ট কন্ট্রোলার, সার্লেট ফিল্টার, নির্ভরতা ইনজেকশন ইত্যাদির মতো ভাল অভ্যাস প্রয়োগ করে যা সমস্ত কাজ নিজেই করে এবং পড়তে / বজায় রাখা কঠিন difficult
জেএসপি'র ওয়েব-আইএনএফ-তে রাখার বিষয়টি:
- আপনি পৃষ্ঠাটি সরাসরি অ্যাক্সেস করতে পারবেন না, এমনকি যদি এটি একটি সাধারণ স্ট্যান্ডলোন পৃষ্ঠাও হয় তবে এর জন্য কোনও প্রফেস প্রসেসিংয়ের প্রয়োজন হয় না। এর কারণ হ'ল / WEB-INF এর অধীন ফাইলগুলি কোনও সার্লেট পাত্র দ্বারা পরিবেশনযোগ্য নয়।
স্ট্যাটিক ফাইল
এইচটিএমএল, চিত্র, স্টাইলশিট, জাভাস্ক্রিপ্ট ইত্যাদির মতো খাঁটি স্ট্যাটিক ফাইলগুলির নিরিখে সেগুলি ওয়েবের মূলের নীচে রাখে (আপনার ক্ষেত্রে আমার_অ্যাপ) তবে নয় / ওয়েব-আইএনএফ (এটি অ্যাক্সেসযোগ্য নয়)।
সামগ্রিক বিন্যাস
সামগ্রিক ডিরেক্টরি বিন্যাস হিসাবে, এটি আপনার বিল্ড প্রক্রিয়ার উপর কিছুটা নির্ভর করে। আমি "এসসিআর" বা "উত্স" এর অধীনে সমস্ত কিছু সঞ্চয় করতে পছন্দ করি কারণ এটি এটি পরিষ্কার করে দেয় যে বিল্ডিংয়ের মাধ্যমে কোন ফাইলগুলি উত্পন্ন হয় এবং কোনটি খাঁটি উত্স ফাইল। main
আপনাকে জুনিট ক্লাসের মতো টেস্ট কোডটিকে আপনার মূল উত্স কোড থেকে আলাদা করতে দেয়, যা খুব ভাল। তবে আপনার যদি কোনও ইউনিট পরীক্ষা না করে (ওহ!), তবে এটি অর্থহীন পার্থক্য।
অন্যদিকে, আপনি যদি বিল্ড চলাকালীন ওয়েব রুটটি একেবারে হেরফের না করেন (যেমন এটি সমস্ত জেএসপি এবং স্ট্যাটিক ফাইল থাকে) তবে সম্ভবত আপনি এটি শীর্ষ স্তরে রেখেছেন, /webroot
বা /deploy
প্রয়োজন মতো ফাইলগুলি অনুলিপি করতে এবং যেমন .class বা .jar ফাইল। অতিরিক্ত সংগঠিত করা মানুষের (বিশেষত বিকাশকারীদের) অভ্যাস। ওভার-অর্গানাইজেশনের একটি ভাল লক্ষণটিতে কেবল একটি একক সাব-ফোল্ডার সহ প্রচুর ফোল্ডার রয়েছে।
আপনি যা দেখিয়েছেন
আপনি ইঙ্গিত করেছেন যে আপনি ম্যাভেন দ্বারা নির্ধারিত একটি সম্মেলন অনুসরণ করছেন, সুতরাং আপনি যদি ইতিমধ্যে মাভেন ব্যবহার করছেন তবে কেবল সেই বিন্যাসটি আটকে দিন। আপনার বর্ণিত লেআউটটিতে কোনও ভুল নেই।