Сервлет JSP и веб-программирование

Я использую Java в основном для программирования с графическим интерфейсом пользователя и PHP для веб-программирования, но мне очень не нравится отсутствие статически типизированного языка. В своем следующем проекте я хотел бы использовать Java вместо PHP. В чем разница между JSP и сервлетами?


person Hamza Yerlikaya    schedule 10.06.2009    source источник
comment
По теме: stackoverflow.com/questions/2095397/   -  person BalusC    schedule 18.06.2011


Ответы (7)


JSP в основном позволяет писать код Java на основе HTML, внешне напоминающего PHP или ASP. Однако результат просто компилируется в сервлет.

person Matthew Flaschen    schedule 10.06.2009

По сути, JSP и сервлеты одинаковы, оба компилируются в сервлеты и оба выполняются как код Java. Разница между ними заключается в создании и использовании. Вы пишете сервлеты как код Java, т.е. вы пишете класс Java, производный от HttpServlet, и переопределяете соответствующие методы. С другой стороны, JSP создаются с использованием языка на основе шаблонов, это очень похоже на HTML с добавленными фрагментами кода, аналогично многим другим языкам на основе шаблонов.

Если вы создаете веб-приложение на Java, считается (очень) хорошей практикой использовать архитектуру стиля MVC с сервлетами в качестве контроллера и JSP, обеспечивающими представление (и POJO в качестве модели).

person Kevin Jones    schedule 10.06.2009


Если вы используете mvc, JSP будет представлением, а сервлет будет контроллер. Хотя JSP может содержать код Java, чем меньше, тем лучше.

Чтобы сравнить его с миром PHP, Zend Framework, JSP == .phtml и serlet == .php.

person Macarse    schedule 10.06.2009

  • Сервлеты - это классы, которые можно использовать для обработки любых запросов, но в основном HTTP-запросов. Вы пишете сервлеты, создавая классы, расширяющие http://java.sun.com/products/servlet/2.1/api/javax.servlet.http.HttpServlet.html
  • JSP - это более новая технология, чем сервлеты. Он используется для объединения кода HTML с кодом Java. В конце концов, страница JSP используется для генерации (автоматически) HttpServlet.

Обычно люди пишут часть бизнес-логики веб-сайта на сервлетах, а затем пересылают управление на страницу JSP (аналогично тому, что достигается с помощью MVC).

Но в настоящее время многие люди будут использовать такие фреймворки, как JSF или Spring, поверх технологии Servlet + JSP. Так что вы можете также взглянуть на один из этих фреймворков.

person Pablo Santa Cruz    schedule 10.06.2009

Сервлеты находятся на java и позволяют запрограммировать HTTP-ответы с использованием строк Java. Они наиболее полезны для вычислительной работы.

Jsps - это в основном html с небольшими фрагментами кода Java, это больше похоже на PHP и более полезно для веб-сайтов.

P.s. Взгляните на движок приложений Google, он отлично подходит для размещения базовых приложений Java.

person Matt    schedule 10.06.2009

JSP следует модели MVC. Основное различие между jsp и php во время выполнения. 1. Когда jsp-страница в первый раз преобразуется как класс сервлета, а затем каждый раз вызывается класс сервлета, это делает jsp быстрее, чем php. 2. вы можете использовать bean-компонент (простые классы java) на странице jsp для реализации бизнес-логики и оформить для этого на страницах jsp, как простую статическую страницу html. Есть больше возможностей с jsp ....

person Prakash Panjwani    schedule 07.12.2009
comment
JSP не обязательно следует модели MVC. Все в ваших руках, как у разработчика. Если вы придерживаетесь только одного правила: НЕ используйте скриптлеты, тогда JSP действительно заставит вас легко писать код в соответствии с идеологией MVC. - person BalusC; 07.12.2009