[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-servlety-kakaya-raznitsa-mezhdu-c-set-i-jsp-usebean":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":16,"progress":17,"seo":18},591,"kakaya-raznitsa-mezhdu-c-set-i-jsp-usebean",13,"servlety","Сервлеты","🖧","Какая разница между c:set и jsp:useBean","Оба тега создают объекты и помещают их в заданную область видимости, но `\u003Cc:set>` более гибкий: он может устанавливать произвольные значения, а `\u003Cjsp:useBean>` только создаёт экземпляр конкретного Java-класса.\n\n| Критерий | `\u003Cc:set>` | `\u003Cjsp:useBean>` |\n|----------|----------|-----------------|\n| Создание объекта | Любое значение (строка, выражение, EL) | Только экземпляр Java-класса |\n| Установка значения | Может извлечь из параметров, сессии, EL | Создаёт пустой объект |\n| Установка свойств | Через вложенный `\u003Cc:set>` | Через `\u003Cjsp:setProperty>` |\n| Гибкость | Высокая — работает с любыми типами | Ограниченная — только JavaBeans |\n\n```jsp\n\u003C!-- c:set — установка произвольного значения -->\n\u003Cc:set var=\"userName\" value=\"${param.name}\" scope=\"request\" \u002F>\n\n\u003C!-- jsp:useBean — создание экземпляра класса -->\n\u003Cjsp:useBean id=\"user\" class=\"com.example.User\" scope=\"session\" \u002F>\n\u003Cjsp:setProperty name=\"user\" property=\"name\" value=\"John\" \u002F>\n```\n\n`\u003Cc:set>` из JSTL является предпочтительным подходом, так как он более лаконичен и поддерживает EL-выражения.\n\n> **На собеседовании:** ключевое различие — `\u003Cc:set>` работает со значениями, `\u003Cjsp:useBean>` — с классами. На практике `\u003Cc:set>` используется чаще.","","junior",[15],"servlets",[],null,{"title":19,"description":20,"ogTitle":19,"ogDescription":21,"keywords":22,"schemaAnswer":23,"featuredSnippetReady":24},"Какая разница между c:set и jsp:useBean — Gymterview","Оба тега создают объекты и помещают их в заданную область видимости, но `\u003Cc:set>` более гибкий: он может устанавливать произвольные значения, а `\u003Cjsp:useBean>` ","Оба тега создают объекты и помещают их в заданную область видимости, но `\u003Cc:set>` более гибкий: он может устанавливать п",[15,13],"Оба тега создают объекты и помещают их в заданную область видимости, но `\u003Cc:set>` более гибкий: он может устанавливать произвольные значения, а `\u003Cjsp:useBean>` только создаёт экземпляр конкретного Java-класса.",true]