fa
Feedback

فریب کلاهبرداران را نخورید! تل‌متریو این کانال‌ها را شناسایی و برچسب‌گذاری می‌کند 👉 برای مشاهده برچسب، اشتراک تهیه کنید

Java | Вопросы собесов

Java | Вопросы собесов

رفتن به کانال در Telegram

Сайт: https://easyoffer.ru/ Все каналы: t.me/+xGeAw6ckJ4liYzQy Контакт для рекламы: @sendme_ads

نمایش بیشتر

📈 تحلیل کانال تلگرام Java | Вопросы собесов

کانال Java | Вопросы собесов (@easy_java_ru) در بخش زبانی روسی بازیگری فعال است. در حال حاضر جامعه شامل 11 289 مشترک است و جایگاه 10 935 را در دسته فناوری و برنامه‌ها و رتبه 56 548 را در منطقه روسيا دارد.

📊 شاخص‌های مخاطب و پویایی

از زمان ایجاد در невідомо، پروژه رشد سریعی داشته و 11 289 مشترک جذب کرده است.

بر اساس آخرین داده‌ها در تاریخ 03 نوامبر, 2026، کانال فعالیت پایداری دارد. در ۳۰ روز گذشته تغییر اعضا برابر -46 و در ۲۴ ساعت گذشته برابر 2 بوده و همچنان دسترسی گسترده‌ای حفظ شده است.

  • وضعیت تأیید: تأیید نشده
  • نرخ تعامل (ER): میانگین تعامل مخاطب 9.55% است و در ۲۴ ساعت نخست پس از انتشار، محتوا معمولاً 5.73% واکنش نسبت به کل مشترکان کسب می‌کند.
  • دسترسی پست‌ها: هر پست به طور میانگین 1 078 بازدید دریافت می‌کند. در اولین روز معمولاً 647 بازدید جمع‌آوری می‌شود.
  • واکنش‌ها و تعامل: مخاطبان به‌طور فعال حمایت می‌کنند؛ میانگین واکنش به هر پست 6 است.
  • علایق موضوعی: محتوا بر موضوعات کلیدی مانند ставь, void, string, строка, static تمرکز دارد.

📝 توضیح و سیاست محتوایی

نویسنده این فضا را محل بیان دیدگاه‌های شخصی توصیف می‌کند:
“Сайт: https://easyoffer.ru/ Все каналы: t.me/+xGeAw6ckJ4liYzQy Контакт для рекламы: @sendme_ads”

به لطف به‌روزرسانی‌های پرتکرار (آخرین داده در تاریخ 04 نوامبر, 2026)، کانال همواره به‌روز و دارای دسترسی بالاست. تحلیل‌ها نشان می‌دهد مخاطبان به‌طور فعال با محتوا تعامل دارند و آن را به نقطه اثرگذاری مهم در دسته فناوری و برنامه‌ها تبدیل کرده‌اند.

11 289
مشترکین
+224 ساعت
-187 روز
-4630 روز
آرشیو پست ها
Запустите рекламу в телеграм-каналах с Яндекс Директом Перфоманс-реклама теперь в телеграм-каналах ⚡ Яндекс Директ знает, как
Запустите рекламу в телеграм-каналах с Яндекс Директом Перфоманс-реклама теперь в телеграм-каналах ⚡ Яндекс Директ знает, как привлечь целевую аудиторию 💰👌 Попробовать #реклама yandex.ru О рекламодателе

🤔 Почему не нужно конфигурировать стандартные JSP теги в web.xml? 🚩Причины 🟠Простота использования стандартных тегов Стандартные JSP теги, такие как <%@ page %>, <%@ include %>, <%@ taglib %>, а также теги JSTL (JavaServer Pages Standard Tag Library), уже встроены в JSP контейнер и готовы к использованию без дополнительной конфигурации. Это упрощает разработку и уменьшает количество необходимого конфигурационного кода. 🟠Автоматическое определение контейнером Современные JSP контейнеры (например, Apache Tomcat) автоматически распознают и обрабатывают стандартные теги JSP и JSTL без необходимости явного указания в web.xml. Это позволяет избежать излишних конфигурационных шагов и сконцентрироваться на разработке бизнес-логики. 🟠Использование аннотаций Вместо конфигурации в web.xml в современных Java веб-приложениях часто используются аннотации для определения сервлетов, фильтров и слушателей. Аннотации упрощают процесс конфигурации и делают код более чистым и читабельным. 🟠Стандартизация и совместимость Стандартные теги JSP и JSTL были созданы для стандартизации и упрощения разработки JSP страниц. Они широко поддерживаются всеми контейнерами, что обеспечивает их правильную работу без дополнительной конфигурации. 🚩Пример использования JSTL без конфигурации в web.xml В данном примере используется стандартная библиотека тегов JSTL (библиотека JSTL core). Благодаря встроенной поддержке JSTL в контейнере, нет необходимости указывать эту библиотеку в web.xml.
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<body>
    <c:if test="${not empty user}">
        <p>Привет, ${user.name}!</p>
    </c:if>
</body>
</html>
Ставь 👍 и забирай 📚 Базу знаний

🤔 Что такое ACID? ACID — это набор принципов, которые обеспечивают надёжность транзакций в базах данных: атомарность (все операции транзакции выполняются как единое целое или не выполняются вовсе), согласованность (после завершения транзакции данные остаются в согласованном состоянии), изолированность (транзакции не влияют друг на друга) и долговечность (данные сохраняются после успешного завершения транзакции). Соблюдение этих принципов помогает предотвратить повреждение или потерю данных. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Как сделать перенос строки в HTML средствами JSP? В JSP можно сделать перенос строки в HTML несколькими способами. Основные методы, которые включают использование стандартных HTML-тегов, предопределенных библиотек тегов JSP (например, JSTL) и создание собственных тегов. 🟠Использование стандартных HTML-тегов Наиболее простой способ вставить перенос строки в HTML - это использовать тег <br/>, который обозначает разрыв строки.
<%
    String text = "This is line 1.\nThis is line 2.\nThis is line 3.";
    text = text.replace("\n", "<br/>");
%>
<%= text %>
🟠Использование JSTL и функции форматирования JSTL (JavaServer Pages Standard Tag Library) предоставляет мощные инструменты для работы с текстом и данными. Мы можем использовать функции JSTL для замены символов новой строки на теги <br/>. Подключите библиотеку JSTL
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
Используйте JSTL для замены символов новой строки
<%
    String text = "This is line 1.\nThis is line 2.\nThis is line 3.";
%>
<c:out value="${fn:replace(text, '\n', '<br/>')}" escapeXml="false"/>
🟠Создание собственного тега для переноса строки Если вам часто нужно делать переносы строк, имеет смысл создать пользовательский тег для этой задачи. Создайте класс обработчика тега
package com.example.tags;

import javax.servlet.jsp.tagext.TagSupport;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import java.io.IOException;

public class LineBreakTag extends TagSupport {
    private String text;

    public void setText(String text) {
        this.text = text;
    }

    @Override
    public int doStartTag() throws JspException {
        JspWriter out = pageContext.getOut();
        try {
            if (text != null) {
                text = text.replace("\n", "<br/>");
                out.print(text);
            }
        } catch (IOException e) {
            throw new JspException(e);
        }
        return SKIP_BODY;
    }
}
Определите дескриптор тега (taglib.tld)
<?xml version="1.0" encoding="ISO-8859-1" ?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
                            http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" 
        version="2.0">
    <tlib-version>1.0</tlib-version>
    <short-name>example</short-name>
    <uri>http://www.example.com/tags</uri>

    <tag>
        <name>lineBreak</name>
        <tag-class>com.example.tags.LineBreakTag</tag-class>
        <body-content>empty</body-content>
        <attribute>
            <name>text</name>
            <required>true</required>
        </attribute>
    </tag>
</taglib>
Используйте пользовательский тег в JSP
<%@ taglib uri="http://www.example.com/tags" prefix="ex" %>
<html>
<head>
    <title>Custom Line Break Tag Example</title>
</head>
<body>
    <h1>Using Custom Line Break Tag</h1>
    <ex:lineBreak text="This is line 1.\nThis is line 2.\nThis is line 3."/>
</body>
</html>
Ставь 👍 и забирай 📚 Базу знаний

😂 На одном кодинге уже давно не вывезешь, перспектива 2024 года - Информационная Безопасность Ловите два канала на тему ИБ и
😂 На одном кодинге уже давно не вывезешь, перспектива 2024 года - Информационная Безопасность Ловите два канала на тему ИБ и хакинга Арсенал Безопасника - Проект по кибербезопасности - сборник лучших инструментов и утилит по OSINT, хакингу и деанону Бункер Хакера - Все что необходимо, для того чтобы начать свой путь в безопасности - инструменты, книги, справочники, гайды и ресурсы.

🤔 Что такое Stream в Java? Stream в Java — это последовательность данных, поддерживающая операции над элементами в функциональном стиле, такие как фильтрация, преобразование и агрегирование. Streams не хранят данные, а обрабатывают их по мере необходимости, что позволяет работать с большими объемами данных без создания дополнительных коллекций. Стримы могут быть как конечными (например, sum(), collect()), так и промежуточными (filter(), map()). Stream API поддерживает параллельную обработку данных для повышения производительности. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Приведи пример использования собственных тегов? 1⃣Создание обработчика тега (Tag Handler) Напишем класс обработчика тега, который выводит персонализированное приветствие.
package com.example.tags;

import javax.servlet.jsp.tagext.TagSupport;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import java.io.IOException;

public class GreetingTag extends TagSupport {
    private String name;

    // Сеттер для установки значения атрибута "name"
    public void setName(String name) {
        this.name = name;
    }

    @Override
    public int doStartTag() throws JspException {
        JspWriter out = pageContext.getOut();
        try {
            if (name != null && !name.isEmpty()) {
                out.print("Hello, " + name + "!");
            } else {
                out.print("Hello, Guest!");
            }
        } catch (IOException e) {
            throw new JspException(e);
        }
        return SKIP_BODY; // Не обрабатываем тело тега
    }
}
2⃣Создание дескриптора тега (Tag Descriptor) Создадим файл taglib.tld, описывающий наш тег.
<?xml version="1.0" encoding="ISO-8859-1" ?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
                            http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" 
        version="2.0">
    <tlib-version>1.0</tlib-version>
    <short-name>example</short-name>
    <uri>http://www.example.com/tags</uri>

    <tag>
        <name>greeting</name>
        <tag-class>com.example.tags.GreetingTag</tag-class>
        <body-content>empty</body-content>
        <attribute>
            <name>name</name>
            <required>false</required>
        </attribute>
    </tag>
</taglib>
3⃣Использование пользовательского тега в JSP Создадим JSP-страницу, на которой будем использовать наш пользовательский тег.
<%@ taglib uri="http://www.example.com/tags" prefix="ex" %>
<html>
<head>
    <title>Custom Tag Example</title>
</head>
<body>
    <h1>Using Custom Tag</h1>
    <ex:greeting name="Alice"/>
    <br>
    <ex:greeting/>
</body>
</html>
4⃣Компиляция и развертывание Убедитесь, что файл GreetingTag.class размещен в директории WEB-INF/classes/com/example/tags/. Убедитесь, что файл taglib.tld находится в директории WEB-INF. Ставь 👍 и забирай 📚 Базу знаний

📺 Уникальная база записей IT собеседований 180+ записей реальных собеседований на программиста, тестировщика, аналитика и прочие IT профы. Записи собесов от ведущих компаний: Сбер, Яндекс, ВТБ, Тинькофф, Озон, Wildberries и т.д. 🎯 Переходи по ссылке и присоединяйся к базе, чтобы прокачать свои шансы на успешное трудоустройство! У тебя есть запись собеседования? Мы готовы ее купить и заплатим до 3000 руб. за каждую

🤔 Какие есть принципы ООП? Принципы ООП включают: инкапсуляцию (скрытие деталей реализации и защита данных через методы доступа), наследование (создание новых классов на основе существующих), полиморфизм (способность объектов разных классов реагировать на одни и те же вызовы методов) и абстракцию (выделение ключевых характеристик объекта и исключение ненужных деталей). Эти принципы способствуют созданию более структурированного, расширяемого и поддерживаемого кода. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Что знаешь о написании пользовательских JSP тегов? Они позволяют инкапсулировать повторяющуюся логику, улучшать читаемость кода и упрощать его поддержку. Пользовательские теги создаются с использованием Java и могут выполнять различные функции, такие как генерация динамического контента, выполнение сложных вычислений или обработка форм. 🟠Создание обработчика тега (Tag Handler) Это класс Java, который реализует интерфейс Tag или расширяет один из классов базовой реализации, таких как TagSupport или BodyTagSupport.
package com.example.tags;

import javax.servlet.jsp.tagext.TagSupport;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import java.io.IOException;

public class HelloTag extends TagSupport {
    private String name;

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public int doStartTag() throws JspException {
        JspWriter out = pageContext.getOut();
        try {
            out.print("Hello, " + name + "!");
        } catch (IOException e) {
            throw new JspException(e);
        }
        return SKIP_BODY; // Не обрабатываем тело тега
    }
}
🟠Создание дескриптора тега (Tag Descriptor) Это файл XML, который описывает теги и их атрибуты. Обычно он называется taglib.tld и размещается в директории WEB-INF.
<?xml version="1.0" encoding="ISO-8859-1"?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
                            http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" 
        version="2.0">
    <tlib-version>1.0</tlib-version>
    <short-name>example</short-name>
    <uri>http://www.example.com/tags</uri>

    <tag>
        <name>hello</name>
        <tag-class>com.example.tags.HelloTag</tag-class>
        <body-content>empty</body-content>
        <attribute>
            <name>name</name>
            <required>true</required>
        </attribute>
    </tag>
</taglib>
🟠Использование пользовательского тега в JSP Необходимо импортировать их в JSP-страницу с помощью директивы taglib и затем применять тег.
<%@ taglib uri="http://www.example.com/tags" prefix="ex" %>
<html>
<body>
    <ex:hello name="World"/>
</body>
</html>
🟠Компиляция и развертывание Убедитесь, что ваши классы в соответствующих директориях (WEB-INF/classes). Убедитесь, что файл taglib.tld находится в директории WEB-INF. Ставь 👍 и забирай 📚 Базу знаний

Перец на канале «Записки необычного препода» делает невозможное! А именно — встраивает мышление на английском взрослым людям. Как обычно пытаются научить «думать на языке»? Методом «бери больше, кидай дальше». Слушайте песни, смотрите фильмы, читайте книги в оригинале, и оно само как-нибудь запустится. Тут всё совсем не так. Тут происходит встраивание языка на кардинально других принципах. В результате вы ощущаете грамматику и слова «изнутри». Так, как бы вы их ощущали, будь вы носителем английского языка. Почитать подробнее про эту технологию можно тут. Есть конкретный механизм мышления. Он состоит из визуального слоя, слоя смыслов и слоя слов. Механизм разбивается на элементы. Каждый элемент тренируется отдельно. Оттренированные элементы стыкуются друг с другом с помощью специальных упражнений. Здесь: - Пошаговая технология; - Разбор механик мышления на языке; - Простота — любое сложное упражнение должно быть разбито на простые. - Измеримость — все упражнения тренируются до норматива (как правило в секундах). Норматив гарантирует освоение упражнения на уровне навыка. - Сумма упражнений неизбежно приводит к мышлению на языке. Так же, как правильно собранные вместе детали создают автомобиль. Вот, например: - как найти английские артикли в русском; - как освоить что угодно в 10 раз быстрее; - как взломать английскую грамматику. Подписывайся, чтобы узнать больше.

🤔 Чем отличаются LinkedList и ArrayList? ArrayList использует массив для хранения элементов, что обеспечивает быстрый доступ по индексу, но медленные операции вставки и удаления в середине списка. LinkedList основан на двусвязном списке, что делает вставку и удаление быстрыми операциями, но доступ по индексу медленным, так как требуется последовательный обход элементов. ArrayList предпочтителен, когда важен быстрый доступ к элементам, а LinkedList — когда приоритетом являются частые вставки и удаления. Также LinkedList потребляет больше памяти за счёт хранения ссылок на соседние элементы. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Обучение на Frontend-разработчика. С нуля за 9 месяцев. На курсе вы получите все навыки, необходимые для старта в профессии Frontend-разработчика. Персональный наставник middle/senior уровня. 14 проектов, лайвкодинг, хакатоны, репетиции техсобеседования. Освоите JavaScript, React, TypeScript Официальный диплом и сертификат школы. Поддержка наставника по JS в течение 3-х месяцев после диплома. Гарантия трудоустройства. Если вы не устроитесь, вернём деньги. Это закреплено в договоре п. 6.14 Узнать больше #реклама 16+ result.school О рекламодателе

🤔 Как можно расширить функциональность JSP? 🟠Использование тегов (Tag Libraries): JSTL (JavaServer Pages Standard Tag Library): JSTL предоставляет общие функции, такие как циклы, условия, работа с XML и форматом даты. Пользовательские теги: Вы можете создавать собственные теги для повторно используемой логики. Это помогает избежать повторения кода и улучшает читаемость JSP-страниц.
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<ul>
  <c:forEach var="item" items="${itemList}">
     <li>${item}</li>
   </c:forEach>
</ul>     
🟠Сервлеты и фильтры Сервлеты: Можно расширить функциональность JSP, комбинируя их с сервлетами. Сервлеты могут обрабатывать сложную бизнес-логику и передавать результаты на JSP для отображения.
@WebServlet("/processData")
public class DataServlet extends HttpServlet {
  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
         String data = processData();
         request.setAttribute("data", data);
         request.getRequestDispatcher("/display.jsp").forward(request, response);
    }
}     
Фильтры: Позволяют перехватывать запросы и ответы, модифицировать их, например, для аутентификации или логирования.
@WebFilter("/secure/*")
public class AuthFilter implements Filter {
  public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
     // Проверка аутентификации
     chain.doFilter(request, response);
     }
}     
🟠Включение других JSP и статических файлов <jsp:include>: Включение других JSP-файлов или статических ресурсов. Это помогает повторно использовать компоненты и уменьшает дублирование кода.
<jsp:include page="header.jsp" />
<jsp:include page="footer.jsp" />     
🟠Использование сторонних библиотек Apache Struts, Spring MVC: Эти фреймворки обеспечивают мощные возможности для создания веб-приложений с использованием JSP. Они упрощают управление запросами и представлениями, а также предоставляют интеграцию с различными компонентами Java EE. 🟠JavaBeans Использование JavaBeans для хранения и манипулирования данными. Это способствует разделению бизнес-логики и представления.
<jsp:useBean id="user" class="com.example.User" scope="session"/>
<jsp:setProperty name="user" property="name" value="John Doe"/>
<p>Welcome, <jsp:getProperty name="user" property="name"/>!</p>     
🟠AJAX и JavaScript Добавление динамического взаимодействия с помощью AJAX и JavaScript. Это позволяет обновлять части страницы без полной перезагрузки, улучшая пользовательский опыт. Ставь 👍 и забирай 📚 Базу знаний

Программист — лекарство от больных тимлидов, тупых багов и тех самых митов в 10 утра ☠️ Здесь собирают лучшие мемы про айтишников, чтобы спасти вашу психику от died'осов на работе. Идеально зачиллить вечерком и скинуть друзьям: @progeri

Программист — лекарство от больных тимлидов, тупых багов и тех самых митов в 10 утра ☠️ Здесь собирают лучшие мемы про айтишников, чтобы спасти вашу психику от died'осов на работе. Идеально зачиллить вечерком и скинуть друзьям: @progeri

🤔 В чём разница между примитивом и ссылочным типом данных? Примитивные типы данных в Java (int, boolean, char и др.) хранят непосредственно значения, тогда как ссылочные типы (объекты и массивы) хранят ссылки на объекты в памяти. Примитивные типы располагаются в стеке и не могут быть null, в отличие от ссылочных, которые размещаются в куче и могут быть null. Примитивные типы имеют фиксированный размер, тогда как размер ссылочных зависит от структуры объекта. Примитивы быстрее по сравнению с ссылочными типами из-за отсутствия накладных расходов на управление памятью. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Обучаем Java-разработчиков оплата после выхода на работу В Kata Academy можно выучиться на Java-разработчика бесплатно, а зап
Обучаем Java-разработчиков оплата после выхода на работу В Kata Academy можно выучиться на Java-разработчика бесплатно, а заплатить уже после трудоустройства по специальности из фактической зарплаты. Если задуматься, то все в выигрыше: — ты получаешь работу в Москве или Санкт-Петербурге с хорошей зарплатой, мы получаем процент за инвестиции в тебя; — в наших интересах научить тебя так, чтобы твоя зарплата была как можно выше; — мы прокачиваем твои навыки еще 2 года после курса: проводим выездные мероприятия и мастер-классы — и доходы наших выпускников растут; — мы не зависим от банков и их рассрочек — кризис не повлиял на доступность курсов. Чтобы попасть на курс, нужно выполнить небольшое тестовое задание. Переходи по ссылке и оставляй заявку! Узнать больше #реклама 16+ kata.academy О рекламодателе

Amplicode учит вашу IDE говорить на языке Spring Boot! Amplicode – многофункциональный плагин для IntelliJ IDEA Community и U
Amplicode учит вашу IDE говорить на языке Spring Boot!  Amplicode – многофункциональный плагин для IntelliJ IDEA Community и Ultimate, упрощает и ускоряет работу с технологиями Spring Boot, JPA, Docker, Kafka, Liquibase, MapStruct и т.д. Основные возможности ⚡ Навигация по проекту согласно архитектуре Spring приложения   ⚡ Создание объектов сразу в терминах фреймворка вместо Java классов: контроллеры, репозитории, сервисы, сущности, события, DTO, мапперы и т.д. ⚡ Палитра и инспектор, позволяющие видеть опции, доступные разработчику в текущем контексте ⚡ Умные инжекции, подсказки и исправление ошибок Это малая часть того, на что способен Amplicode. В настоящий момент возможности доступны абсолютно бесплатно! Сделано с любовью к разработчикам командой, создавшей суперпопулярный плагин JPA Buddy ❤️ Попробовать Amplicode Посмотрите как Amplicode помогает разрабатывать на Spring Boot в IntelliJ IDEA!  #реклама О рекламодателе

🤔 Из каких групп тегов состоит библиотека JSTL? 🟠Core Tags (Основные теги) Эти теги предоставляют основные функции для управления потоком выполнения, работы с переменными, URL, редиректами и параметрами. <c:out> – вывод значения выражения. <c:set> – установка значений переменных. <c:remove> – удаление атрибутов из областей видимости (scope). <c:catch> – перехват и обработка исключений. <c:if> – условное выполнение блока кода. <c:choose>, <c:when>, <c:otherwise> – конструкция для многозначного условия (аналог switch-case). <c:forEach> – итерация по коллекциям или массивам. <c:forTokens> – итерация по токенам строки. <c:import> – импорт содержимого из URL. <c:url> – создание URL с параметрами. <c:redirect> – перенаправление на другой URL. <c:param> – добавление параметров к URL. 🟠Formatting Tags (Теги форматирования) Эти теги используются для интернационализации и форматирования данных, таких как даты, числа и тексты. <fmt:formatNumber> – форматирование чисел. <fmt:parseNumber> – разбор строк в числа. <fmt:formatDate> – форматирование дат. <fmt:parseDate> – разбор строк в даты. <fmt:bundle> – загрузка ресурса с локализованными сообщениями. <fmt:message> – вывод локализованного сообщения. <fmt:setLocale> – установка локали. <fmt:setBundle> – установка текущего набора ресурсов. <fmt:timeZone> – установка временной зоны. 🟠SQL Tags (SQL теги) Эти теги предоставляют функциональность для работы с базами данных, выполнения SQL-запросов и обработки результатов. <sql:setDataSource> – установка источника данных. <sql:query> – выполнение SQL-запроса. <sql:update> – выполнение SQL-обновления (INSERT, UPDATE, DELETE). <sql:param> – установка параметров для SQL-запросов. <sql:dateParam> – установка даты в SQL-запросах. <sql:transaction> – выполнение SQL-операций в транзакции. 🟠XML Tags (XML теги) Эти теги используются для работы с XML-документами: их парсинга, модификации и отображения. <x:parse> – парсинг XML-документа. <x:out> – вывод содержимого XML-узла. <x:set> – установка значений в XML-документе. <x:forEach> – итерация по XML-узлам. <x:transform> – преобразование XML-документа с использованием XSLT. 🟠Function Tags (Функции) Эти теги предоставляют набор полезных функций, таких как работа со строками и коллекциями. <fn:contains> – проверка, содержит ли строка указанную подстроку. <fn:containsIgnoreCase> – проверка, содержит ли строка указанную подстроку без учёта регистра. <fn:endsWith> – проверка, заканчивается ли строка указанной подстрокой. <fn:startsWith> – проверка, начинается ли строка с указанной подстроки. <fn:escapeXml> – экранирование специальных символов в XML. <fn:join> – объединение элементов коллекции в строку с указанным разделителем. <fn:length> – определение длины строки или коллекции. <fn:replace> – замена всех вхождений подстроки на другую подстроку. <fn:split> – разбиение строки на массив по указанному разделителю. <fn:substring> – получение подстроки. <fn:substringAfter> – получение подстроки, которая следует за указанной подстрокой. <fn:substringBefore> – получение подстроки, которая предшествует указанной подстроке. <fn:toLowerCase> – преобразование строки к нижнему регистру. <fn:toUpperCase> – преобразование строки к верхнему регистру. <fn:trim> – удаление пробелов в начале и конце строки. Ставь 👍 и забирай 📚 Базу знаний