JSP vs Servlets
A Servlet არის სერვერის მხარის პროგრამული კომპონენტი, დაწერილი ჯავაში და მუშაობს თავსებადი კონტეინერის გარემოში, რომელიც ცნობილია როგორც Servelt კონტეინერი (როგორც Apache Tomcat). Servlets ძირითადად გამოიყენება ვებ აპლიკაციების დანერგვისას, რომლებიც ქმნიან დინამიურ ვებ გვერდებს. თუმცა მათ შეუძლიათ ნებისმიერი სხვა ტიპის კონტენტის გენერირება, როგორიცაა XML, ტექსტი, სურათები, ხმოვანი კლიპები, PDF, Excel ფაილები პროგრამულად.
სერვლეტი დაწერილი ზოგიერთი HTML-ის გენერირებისთვის შეიძლება ასე გამოიყურებოდეს:
საჯარო კლასი MyServlet აფართოებს HttpServlet {
დაცული void doGet (HttpServletRequest მოთხოვნა, HttpServletResponse პასუხი) ავრცელებს ServletException, IOException {
PrintWriter w=answer.getWriter();
w.write("");
w.write("");
თარიღი d=ახალი თარიღი();
w.write(d.toString());
w.write("");
w.write("");
}
}
ზემოთ მოცემული კოდი შეიცავს HTML და Java წყაროს კოდებს. ასეთი არ არის ძალიან იკითხება და შენარჩუნება. JSP, რომელიც ნიშნავს JavaServer Pages-ს, უკეთეს ალტერნატივას იძლევა. მაგალითად, შემდეგი არის JSP კოდის ფრაგმენტი, რომელიც იწვევს იდენტურ გამომავალს:
ვებ გვერდის ავტორებს უადვილდებათ JSP-ის დაწერა და შენარჩუნება. ამასთან, JSP ფაილები ითარგმნება Servlets-ში Servlet კონტეინერის მიერ JSP ფაილების პირველად წვდომის დროს. თუმცა, ბიზნეს ლოგიკის მწერლები თვლიან, რომ Servlets უფრო ადვილია მუშაობა.
მოთხოვნა, რომელიც მიღებულმა ვებაპლიკაციამ უნდა გამოიწვიოს გარკვეული ბიზნეს ლოგიკის შესრულება და შემდეგ შექმნას შედეგიანი ვებ გვერდი, როგორც პასუხი.თანამედროვე ვებ აპლიკაციებში, მოთხოვნის დამუშავების მთლიანი ციკლის კონტროლი ძირითადად ხდება Servlets-ის მიერ. როგორც მოთხოვნის დამუშავების ბოლო ეტაპი, ასეთი Servlet ზოგადად გადასცემს პასუხისმგებლობას დინამიური HTML-ის გენერირების შესახებ JSP-ზე.