JSP менен Servlets ортосундагы айырма

JSP менен Servlets ортосундагы айырма
JSP менен Servlets ортосундагы айырма

Video: JSP менен Servlets ортосундагы айырма

Video: JSP менен Servlets ортосундагы айырма
Video: Публичное собеседование: Junior Java Developer. Пример, как происходит защита проекта после курсов. 2024, Июль
Anonim

JSP vs Servlets

Сервлет Java тилинде жазылган сервердик программалык камсыздоо компоненти жана Servelt контейнери деп аталган шайкеш контейнер чөйрөсүндө иштейт (мисалы, Apache Tomcat). Сервлеттер динамикалык веб-баракчаларды түзүүчү веб-тиркемелерди ишке ашырууда көбүнчө колдонулат. Бирок алар 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 булак кодунун аралашмасын камтыйт. Мындай окууга жана сактоого болбойт. JavaServer Pages дегенди билдирген JSP жакшы альтернатива берет. Мисалы, төмөнкү JSP кодунун фрагменти болуп саналат, натыйжада бирдей чыгарылыш бар:

Веб-баракчанын авторлору JSPди жазууну жана тейлөөнү жеңилдетет. Бирок JSP файлдары JSP файлдарына биринчи жолу киргенде Сервлет контейнери аркылуу Сервлеттерге которулат. Бирок, бизнес логикасынын жазуучулары Сервлеттер менен иштөө оңой деп эсептешет.

Веб тиркеме тарабынан кабыл алынган суроо кандайдыр бир бизнес логикасын ишке ашырууга түрткү бериши керек жана жооп катары натыйжада веб-баракчаны түзүшү керек. Заманбап веб-тиркемелерде, жалпы суроо-талаптарды иштетүү циклин көзөмөлдөө негизинен Сервлеттер тарабынан ишке ашырылат. Сурамды иштеп чыгуунун акыркы этабы катары, мындай Сервлет динамикалык HTMLди түзүү жоопкерчилигин жалпысынан JSPге өткөрүп берет.

Сунушталууда: