Сервлет не вызывается только в Mozilla Firefox. Отлично работает в других браузерах (НАПРИМЕР,Google Chrome,Chromium,Edge)

#java #jsp #web #firefox #servlets

Вопрос:

У меня есть URL ( https://domainname/servlet/Test.jsp?param1=123amp;param2=456 ), на моей странице jsp я получаю значение param1 и param2 использую

 request.getParameter("param1");
 

Я выполняю проверку, что если param1 и param2 не равно нулю, то я вызываю сервлет. Проблема, с которой я сталкиваюсь, заключается в том, что сервлет правильно вызывается в браузере Google Chrome, но в то же время сервлет неправильно вызывается в последней версии Mozilla Firefox (версия 86.0.1), поскольку значения param1 и param2 равно нулю, когда я получаю значения параметров с помощью request.getParameter("param1") . Пожалуйста, обратите внимание, что я добавил заголовки управления кэшем на своей странице jsp, и я не хочу, чтобы кэширование происходило в любом браузере. Если я отключу конфигурацию кэширования в Firefox about:config, сервлет также будет вызываться в браузере Firefox, и моя функциональность будет работать должным образом. Ниже приведен мой исходный код для справки.

     <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <%
        request.setCharacterEncoding("UTF-8");
        response.setContentType("text/html;charset=UTF-8");
        response.setHeader("Cache-Control", "no-store, no-store, must-revalidate"); //HTTP 1.1
        response.setHeader("Pragma", "no-cache"); //HTTP 1.0
        response.setDateHeader("Expires", 0); //prevents caching at the proxy server
    %>

<html>
    <head>
        <meta HTTP-EQUIV="content-type" CONTENT="text/html;charset=utf-8">
        <META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE"> 
        <META HTTP-EQUIV="Expires" CONTENT="-1">
   
        <%
            try {
                         

                param1 = request.getParameter("param1");
                param2 = request.getParameter("param2");

            
                if (param1 != null amp;amp; param2 != null) {

                    System.out.println("Calling servlet");
                    response.sendRedirect(request.getContextPath()   "/servlet");
                   
                } else {
                    System.out.println("Not Going to call servlet");
                    

                }
            } catch (Exception e) {
                writeLog.error("Exception in view doc"   e);
            }

        %>