[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-servlety-mozhno-li-opredelit-klass-vnutri-jsp-stranitsy":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},583,"mozhno-li-opredelit-klass-vnutri-jsp-stranitsy",13,"servlety","Сервлеты","🖧","Можно ли определить класс внутри JSP страницы","Технически — да, можно определить класс внутри JSP-декларации. Но это крайне плохая практика, которая противоречит назначению JSP как компонента представления.\n\n```jsp\n\u003C%!\nprivate static class ExampleOne {\n    \u002F\u002F класс на уровне тела сервлета\n}\n%>\n\n\u003C%\nclass ExampleTwo {\n    \u002F\u002F локальный класс внутри метода _jspService()\n}\n%>\n```\n\nКласс в `\u003C%! %>` (декларация) станет вложенным классом сгенерированного сервлета. Класс в `\u003C% %>` (скриплет) станет локальным классом внутри метода `_jspService()`.\n\nОпределение классов в JSP нарушает все принципы MVC и clean code: логика становится нетестируемой, неперенспользуемой и тесно связанной с представлением. Любая бизнес-логика должна находиться в отдельных Java-классах, а JSP — только отображать результат.\n\n> **На собеседовании:** ответ: да, можно, но это anti-pattern. Покажите, что понимаете, почему — JSP предназначен для View, а не для бизнес-логики.","","junior",[15],"servlets",[],null,{"title":19,"description":20,"ogTitle":19,"ogDescription":21,"keywords":22,"schemaAnswer":20,"featuredSnippetReady":23},"Можно ли определить класс внутри JSP страницы — Gymterview","Технически — да, можно определить класс внутри JSP-декларации. Но это крайне плохая практика, которая противоречит назначению JSP как компонента представления.","Технически — да, можно определить класс внутри JSP-декларации. Но это крайне плохая практика, которая противоречит назна",[15,13],true]