Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22🔥7
Они позволяют инкапсулировать повторяющуюся логику, улучшать читаемость кода и упрощать его поддержку. Пользовательские теги создаются с использованием Java и могут выполнять различные функции, такие как генерация динамического контента, выполнение сложных вычислений или обработка форм.
Это класс 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; // Не обрабатываем тело тега
}
}
Это файл 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-страницу с помощью директивы
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.Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍34🔥3🤯2❤1
Напишем класс обработчика тега, который выводит персонализированное приветствие.
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; // Не обрабатываем тело тега
}
}
Создадим файл
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>
Создадим JSP-страницу, на которой будем использовать наш пользовательский тег.
<%@ taglib uri="http://www.example.com/tags" prefix="ex" %>
<html>
<head>
<noscript>Custom Tag Example</noscript>
</head>
<body>
<h1>Using Custom Tag</h1>
<ex:greeting name="Alice"/>
<br>
<ex:greeting/>
</body>
</html>
Убедитесь, что файл
GreetingTag.class размещен в директории WEB-INF/classes/com/example/tags/. Убедитесь, что файл taglib.tld находится в директории WEB-INF.Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
В JSP можно сделать перенос строки в HTML несколькими способами. Основные методы, которые включают использование стандартных HTML-тегов, предопределенных библиотек тегов JSP (например, JSTL) и создание собственных тегов.
Наиболее простой способ вставить перенос строки в HTML - это использовать тег
<br/>, который обозначает разрыв строки.<%
String text = "This is line 1.\nThis is line 2.\nThis is line 3.";
text = text.replace("\n", "<br/>");
%>
<%= text %>
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>
<noscript>Custom Line Break Tag Example</noscript>
</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>
Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥8
Стандартные 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 (библиотека 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>
Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🔥5
Как и в любой другой веб-разработке, ошибки могут возникать по различным причинам, таким как некорректный ввод данных, ошибки сервера, проблемы с базой данных и т.д. Чтобы эффективно обработать эти ошибки.
Эта директива указывается в исходной JSP-странице и задает путь к другой странице, которая будет использоваться для отображения сообщений об ошибках. Когда на этой странице происходит ошибка, пользователь будет перенаправлен на страницу
error.jsp.<%@ page errorPage="error.jsp" %>
На странице, которая обрабатывает ошибки (например,
error.jsp), необходимо указать атрибут isErrorPage, чтобы сообщить контейнеру JSP, что эта страница предназначена для обработки ошибок.<%@ page isErrorPage="true" %>
На этой странице вы можете использовать встроенный объект
exception для получения информации об ошибке:<%@ page isErrorPage="true" %>
<html>
<head>
<noscript>Ошибка</noscript>
</head>
<body>
<h1>Произошла ошибка</h1>
<p>Ошибка: <%= exception.getMessage() %></p>
</body>
</html>
Вы можете указать глобальную обработку ошибок в конфигурационном файле
web.xml вашего веб-приложения. Это позволяет обрабатывать ошибки на уровне сервлета. Если сервер вернет ошибку 404 (страница не найдена), пользователь будет перенаправлен на страницу notfound.jsp. Если возникает любое исключение (например, java.lang.Throwable), пользователь будет перенаправлен на страницу error.jsp.<error-page>
<error-code>404</error-code>
<location>/notfound.jsp</location>
</error-page>
<error-page>
<exception-type>java.lang.Throwable</exception-type>
<location>/error.jsp</location>
</error-page>
В некоторых случаях вы можете использовать блоки
try-catch непосредственно в JSP для обработки определенных исключений:<%@ page import="java.sql.*, java.io.*" %>
<%
try {
// код, который может вызвать исключение
} catch (SQLException e) {
out.println("Ошибка базы данных: " + e.getMessage());
} catch (IOException e) {
out.println("Ошибка ввода/вывода: " + e.getMessage());
} catch (Exception e) {
out.println("Произошла ошибка: " + e.getMessage());
}
%>
Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤2🤯1
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31🔥7🤯2
Предоставляет набор тэгов для различных задач, включая обработку ошибок. Хотя JSTL не предоставляет прямых средств для глобальной обработки ошибок, она позволяет обрабатывать исключения и показывать соответствующие сообщения об ошибках на уровне страницы.
Тег
<c:catch> используется для перехвата и обработки исключений внутри JSP-страницы. Он позволяет обрабатывать ошибки в JSP-страницах без использования скриплетов. Блок кода, который может вызвать исключение, обернут в тег <c:catch>. Если исключение возникает, оно сохраняется в переменной exception. Тег <c:if> используется для проверки, возникло ли исключение, и отображения сообщения об ошибке.<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:catch var="exception">
<%
// Это может вызвать исключение, например деление на ноль
int result = 10 / 0;
%>
</c:catch>
<c:if test="${not empty exception}">
<p>Произошла ошибка: ${exception.message}</p>
</c:if>
Вы можете использовать JSTL вместе с Expression Language (EL) для более элегантного и чистого кода. Мы снова используем тег
<c:catch> для перехвата исключения. Внутри <c:catch> используется EL для выполнения операции, которая вызывает исключение. Исключение обрабатывается и отображается пользователю.<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<c:catch var="exception">
${1 / 0} <!-- Попытка деления на ноль вызовет исключение -->
</c:catch>
<c:if test="${not empty exception}">
<p>Произошла ошибка: ${fn:escapeXml(exception.message)}</p>
</c:if>
При работе с внешними ресурсами, такими как базы данных или веб-сервисы, также можно использовать JSTL для перехвата исключений. Мы настраиваем источник данных с помощью тега
<sql:setDataSource>. Запрос SQL обернут в тег <c:catch> для перехвата любых ошибок базы данных. Если возникает ошибка, она отображается пользователю.<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
<sql:setDataSource var="ds" driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/mydb"
user="root" password="password" />
<c:catch var="exception">
<sql:query dataSource="${ds}" var="result">
SELECT * FROM non_existent_table
</sql:query>
</c:catch>
<c:if test="${not empty exception}">
<p>Произошла ошибка базы данных: ${exception.message}</p>
</c:if>
Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍27🔥9
Позволяет управлять различными аспектами поведения вашего веб-приложения на уровне сервера. Дескриптор развертывания расположен в каталоге
WEB-INF вашего веб-приложения и используется для определения настроек сервлетов, фильтров, обработчиков ошибок и других компонентов.Когда вы используете JSP, контейнер сервлетов (например, Apache Tomcat) автоматически назначает специальный сервлет для обработки запросов к JSP-страницам. Обычно это происходит автоматически, но вы можете явно указать это в дескрипторе развертывания. Элемент
<servlet> определяет сервлет, обрабатывающий JSP. Элемент <servlet-mapping> связывает этот сервлет с URL-шаблоном *.jsp.<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>fork</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>
В дескрипторе развертывания можно настроить глобальную обработку ошибок, указывая страницы для различных типов ошибок или исключений. Ошибка с кодом 404 (не найдено) будет обрабатываться страницей
notfound.jsp. Любое исключение типа java.lang.Throwable будет обрабатываться страницей error.jsp.<error-page>
<error-code>404</error-code>
<location>/notfound.jsp</location>
</error-page>
<error-page>
<exception-type>java.lang.Throwable</exception-type>
<location>/error.jsp</location>
</error-page>
Вы можете настроить параметры сессий, такие как время ожидания, в дескрипторе развертывания. Этот параметр указывает, что сессии будут истекать через 30 минут бездействия.
<session-config>
<session-timeout>30</session-timeout> <!-- Время в минутах -->
</session-config>
Параметры инициализации сервлета могут быть настроены через элементы
<init-param>. В этом примере параметр development включен, что может использоваться для различных режимов работы сервлета.<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>development</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🤯2❤1
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥6❤1
Да, вы можете использовать JavaScript на JSP-странице. JSP (JavaServer Pages) и JavaScript выполняются на разных уровнях: JSP обрабатывается на сервере и генерирует HTML-код, который затем отправляется клиенту, где JavaScript выполняется на стороне клиента в браузере. Таким образом, можно комбинировать JavaScript и JSP для создания динамичных и интерактивных веб-страниц.
Вы можете включать JavaScript внутри тегов
<noscript> в вашем JSP-коде, как в обычной HTML-странице. JavaScript-код включен в секцию <head>. Функция showAlert вызывается при нажатии кнопки.<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<noscript>Пример использования JavaScript на JSP</noscript>
<noscript type="text/javanoscript">
function showAlert() {
alert("Это сообщение от JavaScript!");
}
</noscript>
</head>
<body>
<h1>Пример использования JavaScript на JSP</h1>
<button onclick="showAlert()">Нажмите меня</button>
</body>
</html>
Вы можете использовать JSP для динамической генерации JavaScript-кода, вставляя данные с сервера. JSP-код вставляет значение переменной
message из сервлета в JavaScript. Функция showMessage выводит это сообщение с помощью alert.<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
String message = "Привет, это сообщение от сервера!";
%>
<html>
<head>
<noscript>Пример использования данных с сервера в JavaScript</noscript>
<noscript type="text/javanoscript">
function showMessage() {
var message = "<%= message %>";
alert(message);
}
</noscript>
</head>
<body>
<h1>Пример использования данных с сервера в JavaScript</h1>
<button onclick="showMessage()">Показать сообщение</button>
</body>
</html>
Вы можете использовать JavaScript (особенно AJAX) для асинхронного взаимодействия с сервером, отправляя запросы и получая данные без перезагрузки страницы.
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<noscript>Пример AJAX с использованием JSP</noscript>
<noscript type="text/javanoscript">
function loadMessage() {
var xhr = new XMLHttpRequest();
xhr.open("GET", "message.jsp", true);
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
document.getElementById("message").innerHTML = xhr.responseText;
}
};
xhr.send();
}
</noscript>
</head>
<body>
<h1>Пример AJAX с использованием JSP</h1>
<button onclick="loadMessage()">Загрузить сообщение</button>
<div id="message"></div>
</body>
</html>
JavaScript использует объект
XMLHttpRequest для отправки асинхронного запроса к message.jsp.Ответ от сервера отображается в элементе с id
message.<%@ page contentType="text/plain;charset=UTF-8" language="java" %>
<%
out.print("Сообщение от сервера: " + new java.util.Date());
%>
Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22🔥4❤1
Оба этих объекта используются для вывода контента в ответе HTTP, но они имеют разные особенности и способы использования.
Это объект, используемый в JSP для вывода данных на клиентскую сторону. Он является частью стандартной библиотеки JSP и предоставляется контейнером JSP. Основные характеристики
JSPWriter:JSPWriter поддерживает буферизацию, что позволяет накапливать вывод в буфере перед отправкой его клиенту. Вы можете управлять размером буфера и его очисткой.JSPWriter является частью объекта JspContext, который доступен в JSP через встроенную переменную out. JSPWriter интегрирован с другими элементами JSP, такими как теги и выражения JSP.JSPWriter наследует методы от java.io.Writer, включая write, flush, и close. Также он предоставляет методы для управления буфером, такие как clear(), clearBuffer(), и getBufferSize().Пример использования
JSPWriter в JSP:<%@ page contentType="text/html;charset=UTF-8" %>
<html>
<head>
<noscript>Пример использования JSPWriter</noscript>
</head>
<body>
<%
out.println("Это вывод с использованием JSPWriter.");
out.write("Еще один пример вывода.");
%>
</body>
</html>
Это объект, используемый в сервлетах для вывода данных на клиентскую сторону. Он является частью стандартной библиотеки сервлетов и предоставляется объектом
HttpServletResponse. Основные характеристики PrintWriter:PrintWriter не поддерживает буферизацию в том же смысле, что и JSPWriter. Он напрямую отправляет данные клиенту. Однако сервер может использовать собственные механизмы буферизации, которые не контролируются программистом.PrintWriter используется в сервлетах и доступен через метод getWriter() объекта HttpServletResponse. Он используется для генерации HTML, JSON, XML и других типов ответа в сервлетах.PrintWriter наследует методы от java.io.Writer и добавляет удобные методы для печати различных типов данных, такие как print, println, и printf.Пример использования
PrintWriter в сервлете:import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ExampleServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
out.println("<html>");
out.println("<head>");
out.println("<noscript>Пример использования PrintWriter</noscript>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Это вывод с использованием PrintWriter.</h1>");
out.println("</body>");
out.println("</html>");
} finally {
out.close();
}
}
}
Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥4
По умолчанию объект сессии создается автоматически на каждой JSP-странице. Это означает, что каждый раз, когда клиент запрашивает JSP-страницу, сервер создаст объект сессии, если он еще не существует, и прикрепит его к клиенту. Тем не менее, в некоторых ситуациях это поведение может быть нежелательным, например, для страниц, которые не требуют управления сессией (например, статический контент, страницы с высокой нагрузкой и т.д.).
Вы можете отключить автоматическое создание сессии на JSP-странице с помощью атрибута
session директивы page. Для этого нужно установить session="false". Директива <%@ page session="false" %> отключает автоматическое создание объекта сессии для данной страницы.<%@ page session="false" %>
<html>
<head>
<noscript>Страница без сессии</noscript>
</head>
<body>
<h1>Эта страница не создает объект сессии</h1>
</body>
</html>
Объект сессии не будет создан автоматически сервером.
Встроенная переменная
session не будет доступна на странице. Попытка обращения к ней приведет к ошибке компиляции JSP.Для страниц, которые не зависят от состояния пользователя и не требуют отслеживания информации о сессии, отключение сессий может сократить накладные расходы.
Для страниц с высокой нагрузкой, где управление сессиями может создавать избыточные ресурсы и накладные расходы на сервере.
Когда используется внешний кеш для контента, который не зависит от состояния пользователя.
Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🔥7