Введение в JSP

JSP, наряду с ASP и PHP как известно - ведущие технологии написания серверных приложений. Однако что мало знает не искушённый пользователь, так то что они вовсе не одинаковы по внутреннему миру. Эта тройка как русские богатыри, могучи в своих областях.

Servlet? 

JSP это прежде всего Java, так же как и ASP это C# (меня поправляют - NET). Не вводитесь в заблуждение тем, что тут как и в тройке всё начинается с тэгов. JSP это всего лишь кожура (View из MVC), и в действительности если вы пишете обычную страницу то сервер Apache Tomcat (ранее - проект Jakarta) интерпретирует и создаёт сервлет, т.е. обычный класс который наследует существующий в javax библиотеке HttpServlet. Как вариант - можно вместо "сервлетов" использовать собственные классы, "java beans".

Apache tomcat services

Особенности разработки

Существенное отличие JSP по сравнению с PHP - необходимость компиляции. Всякое изменение кода для тестирования хочет работу компилятора javac и перезапуск приложения у tomcat. Компиляцию и дополнительные комманды можно автоматизировать независимой прогой Apache Ant или же использовать компиляцию одной кнопкой в IDE. На физическом уровне есть ещё одна особенность - приложение пишется в отдельной папке аналога htdocs, где есть недоступная извне WEB-INF папка, а настройки обычно хранятся в XML.

Netbeans IDE

Очень часто новичкам забывают рассказать в чём собственно писать код и как облегчить себе задачу. Конечно можно писать в notepad, компилировать через коммандную строку, пусть и с привлечением Ant. Но когда вопрос о продуктивности, то я знаю три варианта:

  • NetBeans . Включает в себя Tomcat, Ant и ещё один сервер - JBoss. Позаботится о создании кода и разделения по пакетам, компиляции и запуске браузера. Есть даже возможности автосоздания кода как в ASP, перетаскивая пиктограмму в код, которая вставляет готовую конструкцию
  • Eclipse. Огромная платформа.
  • JCreator

 


 

SOA говорит о масштабе

JSP, а точней java servlets часто используется в больших (enterprise) архитектурах где возникает необходимость во взаимодействии с сервисами третьих лиц и обмене данных с ними. А это уже - Service Oriented Architecture. Такие системы работают к примеру в банках и аэропортах. Компиляция в таких системах позволяет уменьшить число системных ошибок, которые могут показаться пользователю, а тестирование проводится даже на уровне функций с помощью JUnit. Вот честно, кто из программистов использует аналог PHPUnit?

Что касается баз данных, то есть JDBC, который может соединяться как напрямую через свои драйверы с Postgre и Oracle, так и с базами которые поддерживаются в ODBC.

См. также

RSS

Комментарии

  • Андрей
    avatar

    У меня есть страница HTML, в которой написана форма обратной связи, проверку заполнения формы на JavaScript я сделаю, а что дальше - от нажатия кнопки «отправить» и до получения письма на e-mail??? Требуется сделать обработку формы (серверную часть) без PHP, а с использованием JSP, сервлетов..., а так же капчу (без PHP). В этом я полный "0". Если есть материал (можно видео) по работе сервера, как обрабатывается форма, куда вставляется код - в мельчайших подробностях, буду очень рад получить или подскажете где найти. Огромное спасибо.