Объединение вывода двух сервлетов Java

Я делаю систему управления общежитием с бэкэндом на java. Я создал класс заголовка, который показывает меню, и я хочу, чтобы он был включен в каждый сервлет моего проекта. Я попытался использовать диспетчер запросов. так:

RequestDispatcher rd1 = req.getRequestDispatcher("/header");
    rd1.include(req, res);

Когда я помещаю его в какой-либо сервлет, вывод этого сервлета удаляется (только тот вывод, который помещается после этой строки включения), и отображается только сервлет заголовка. Я перегрузил методы doGet() и doPost() в сервлете заголовка.

На следующем рисунке показано, что мой заголовок работает нормально.

Здесь приведен пример сервлета, в который я включаю сервлет заголовка.

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

public class add extends HttpServlet{
public void doGet(HttpServletRequest req,HttpServletResponse res)
throws IOException,ServletException
{
    PrintWriter out = res.getWriter();

    res.setContentType("text/html");
    out.println("<html><head><title>Add student</title></head>");
    RequestDispatcher rd1 = req.getRequestDispatcher("/header");   
    rd1.include(req, res);           //I want to show the data after this line as well
    out.println("<form method='post' action='addtoDatabase'>");
    out.println("Roll Number : <input type='text' name='roll' placeholder='student Roll Number'><br>");
    out.println("Name : <input type='text' name='studentName' autofocus placeholder='student name'><br>");
    out.println("room number : <input type='text' name='roomNumber' placeholder='Room Number'><br>");
    out.println("Address : <input type='text' name='address' placeholder='Address'><br>");
    out.println("Phone : <input type='text' name='phone' placeholder='03001234567'><br>");
    out.println("<input type='submit' value='Add Student'> ");

    out.println("</form></body></html>");
    out.close();
}
}

В приведенном выше коде HTML-форма не отображается в браузере. Отображается только заголовок, как показано на следующем снимке экрана.

Скрин страницы удаления

Как я могу объединить вывод заголовка и любых других сервлетов в браузере?

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
3
0
198
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

есть Session Scope, есть Application Scope. Мне интересно, чего вы добиваетесь, это делиться некоторыми данными между разными сеансами. То что нужно Application Scope. Это Контекст сервлета. См. Использование переменных области приложения в java.

эй, @Qinfdei, я проверил ссылки, которые вы мне предоставили. Я собирался попробовать функцию addServlet(), но затем удалил только оператор close из сервлета заголовка. Тогда у меня все работало нормально.

Jawad Adil 08.06.2019 11:39

Другие вопросы по теме