JSP, наряду с ASP и PHP как известно - ведущие технологии написания серверных приложений. Однако что мало знает не искушённый пользователь, так то что они вовсе не одинаковы по внутреннему миру. Эта тройка как русские богатыри, могучи в своих областях.
Servlet?
JSP это прежде всего Java, так же как и ASP это C# (меня поправляют - NET). Не вводитесь в заблуждение тем, что тут как и в тройке всё начинается с тэгов. JSP это всего лишь кожура (View из MVC), и в действительности если вы пишете обычную страницу то сервер Apache Tomcat (ранее - проект Jakarta) интерпретирует и создаёт сервлет, т.е. обычный класс который наследует существующий в javax библиотеке HttpServlet. Как вариант - можно вместо "сервлетов" использовать собственные классы, "java beans".
Особенности разработки
Существенное отличие JSP по сравнению с PHP - необходимость компиляции. Всякое изменение кода для тестирования хочет работу компилятора javac и перезапуск приложения у tomcat. Компиляцию и дополнительные комманды можно автоматизировать независимой прогой Apache Ant или же использовать компиляцию одной кнопкой в IDE. На физическом уровне есть ещё одна особенность - приложение пишется в отдельной папке аналога htdocs, где есть недоступная извне WEB-INF папка, а настройки обычно хранятся в XML.
Очень часто новичкам забывают рассказать в чём собственно писать код и как облегчить себе задачу. Конечно можно писать в notepad, компилировать через коммандную строку, пусть и с привлечением Ant. Но когда вопрос о продуктивности, то я знаю три варианта:
- NetBeans . Включает в себя Tomcat, Ant и ещё один сервер - JBoss. Позаботится о создании кода и разделения по пакетам, компиляции и запуске браузера. Есть даже возможности автосоздания кода как в ASP, перетаскивая пиктограмму в код, которая вставляет готовую конструкцию
- Eclipse. Огромная платформа.
- JCreator
SOA говорит о масштабе
JSP, а точней java servlets часто используется в больших (enterprise) архитектурах где возникает необходимость во взаимодействии с сервисами третьих лиц и обмене данных с ними. А это уже - Service Oriented Architecture. Такие системы работают к примеру в банках и аэропортах. Компиляция в таких системах позволяет уменьшить число системных ошибок, которые могут показаться пользователю, а тестирование проводится даже на уровне функций с помощью JUnit. Вот честно, кто из программистов использует аналог PHPUnit?
Что касается баз данных, то есть JDBC, который может соединяться как напрямую через свои драйверы с Postgre и Oracle, так и с базами которые поддерживаются в ODBC.
См. также
- Детальное введение в JSP
- Литература по JSP на aleria.net
- SOAtrader - сайт по покупке/продаже сервисов в разработке которого я принимал участие
Комментарии
У меня есть страница HTML, в которой написана форма обратной связи, проверку заполнения формы на JavaScript я сделаю, а что дальше - от нажатия кнопки «отправить» и до получения письма на e-mail??? Требуется сделать обработку формы (серверную часть) без PHP, а с использованием JSP, сервлетов..., а так же капчу (без PHP). В этом я полный "0". Если есть материал (можно видео) по работе сервера, как обрабатывается форма, куда вставляется код - в мельчайших подробностях, буду очень рад получить или подскажете где найти. Огромное спасибо.