2009-06-10 3 views
2

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

+0

Связанный: http://stackoverflow.com/questions/2095397/what-is-the-difference-between-jsf-servlet-and-jsp – BalusC

ответ

5

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

2

Я бы рекомендовал прочитать первые несколько разделов Java EE 5 Tutorial. Это действительно хорошая работа, объясняющая разные технологии Java.

Короче говоря, сервлеты абстракция сервера HTTP, которые позволяют реализовать логику на основе запроса HTTP входит.

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

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

1

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

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

+1

Это неправильно. JSP также является сервлетом. –

0

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

ЯОРН в основном HTML с небольшими фрагментами кода Java, это гораздо больше, как PHP и является более полезным для веб-сайта

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

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

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

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

3

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

При создании веб-приложения в Java это считается (очень) рекомендуется использовать архитектуру в стиле MVC с сервлеты в качестве контроллера и JSPs, обеспечивающих представление (и POJOs в качестве модели)

0

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

+1

JSP не обязательно следует модели MVC. Вы, как разработчик, все это в ваших руках. Если вы придерживаетесь только одного правила: «НЕ используйте скрипты», тогда JSP действительно заставит вас легко написать код в соответствии с идеей MVC. – BalusC