2013-03-02 3 views
5

Я новичок в технологиях Java EE. Интересно, какая разница между банком jstl-api и банкой jstl-impl.разница между jstl-api и jstl-impl

Почему API и реализация разделены? Означает ли это, что существуют другие реализации?

ответ

6

API и реализация разделены, поскольку Java EE работает со стандартизованной спецификацией.

API является частью этой спецификации и содержит набор в основном интерфейсов, к которым согласились все, кто участвовал в создании указанной спецификации. Теоретически каждый может реализовать реализацию, которая реализует опубликованный стандартизованный API и ведет себя так, как описано в соответствующем документе спецификации. Вы можете называть свою реализацию «сертифицированной», когда она проходит так называемый TCK (Technical Compliance Kit).

Это заявленная цель этой системы спецификации поощрять конкуренцию, в то время как в одной и той же защищенной форме пользователей блокируется любая конкретная реализация.

JSTL, в частности, является частью спецификации JSP, которая была разработана под номером JSR 245. Если вы хотите сделать свою собственную реализацию, начните с чтения spec document.

Не могли бы вы указать мне на любые учебники, которые объяснят, как написать наш собственный имп для jstl?

Насколько я знаю, нет конкретных учебных пособий для создания собственной реализации любой спецификации Java EE. Это почти во всех случаях довольно много работы эксперта и работа, которую обычно выполняют только отдельные организации или отдельные лица. Подобный материал не поддается описанию учебников, но Дэвид Блевинс (известность Томее) дал нам случайный взгляд на работу, которая приблизительно связана с этим.

+0

У моего сервера Glassfish есть 'javax.servlet.jsp. jstl.jar', но у него нет 'jstl-impl.jar'. Будет ли это проблемой, если я хочу использовать JSTL в своих JSP-файлах? В моем учебном курсе используется GF3 и есть обе банки, в то время как моя среда имеет GF4 и servlet-jstl jar. – james

3

jstl-api содержит интерфейсы, которые необходимо реализовать. Jstl-impl содержит стандартную или стандартную реализацию этих реализаций. Зачем вам обоим? потому что если вы хотите стандартную или стандартную функциональность, вы используете jstl-impl, но если вы хотите реализовать свое собственное поведение, вы можете переопределить методы интерфейсов в jstl-api. Это то, что означает API: Интерфейс прикладного программирования. С наилучшими пожеланиями.

+0

Можете ли вы указать мне на какие-либо учебники, объясняющие, как написать собственный имп для jstl? – 2013-03-02 17:31:29

+0

http://www.noppanit.com/how-to-create-a-custom-function-for-jstl/ Надеюсь, это может вам помочь. Это для функций, но есть для пользовательских тегов: http://www.codeproject.com/Articles/31614/JSP-JSTL-Custom-Tag-Library С наилучшими пожеланиями –