Oi Dara, tudo bem? Já faz muito tempo que você abriu esse tópico, então é provável que você nem esteja mais (talvez) esperando a resposta.
Eu também estou fazendo a carreira Java, e essa semana eu terminei o Servlets parte 1. Peguei o seu projeto para dar uma olhada e fazer funcionar. A diferença é que eu utilizei o Eclipse para isso, mas você pode importar de volta no IntelliJ.
Vamos lá, o que eu fiz:
Logo de cara eu apaguei todas as bibliotecas e removi a pasta libs. Retirei o .jar do JSTL das pastas onde você tinha colocado também. Ah, e removi as dependências (como Junit).
Eu não queria fazer o deploy para o Tomcat, então decidi o usar o Jetty como plugin e adicionar o contexto /gerenciador nele; Então se você ver no pom.xml vai estar lá as configurações.
Nessa parte eu fui resolver os problemas do JSTL + JSP. Parecia que você estava usando as taglibs da versão 1.0, e não as da 1.2.
<!--Tava assim:-->
<%-- <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %> --%>
<!-- Ai mudei para: -->
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
Logo após, eu também reparei que na hora de fazer o for das empresas, você estava chamando o atributo com 'E' maiúsculo:
<ul>
<c:forEach items="${empresas}" var="empresa">
<li>${empresa.nome}</li> <%-- esse "empresa.nome" estava com E maiúsculo" --%>
</c:forEach>
</ul>
Outra coisa também, eu adicionei o campo de adicionar a data no seu formNovaEmpresa.html
<label for="data">Data de abertura:</label>
<input type="text" id="data" name="data" required placeholder="dd/MM/yyyy">
Nesse próximo passo, eu coloquei de volta as dependências no pom.xml:
Repara que o JSTL e o Servlet estão como provided, pois acredito eu que Jetty adiciona essas livrarias pra gente na hora em que se utilizamos ele com o 'mvn jetty:run'
Eu até deixei como compile uma vez, mas vinha um monte de Warning na hora de compilar dizendo que as bibliotecas eram ambíguas (?)
Com o tomcat isso não ocorre, então se você for usar ele deixa como 'compile'.
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
</dependencies>
E, por último e talvez de mais importância: Dependendo do Archetype que você usa, o maven utiliza o compilador do Java 7 (1.7) ou até do 1.5. Eu deixei comentado a parte de configuração em que o Java 1.7 é chamado e utilizei um plugin para utilizar o Java 11, versão da JDK que eu tenho na minha máquina local:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<release>11</release>
<target>11</target>
</configuration>
</plugin>
Pelo o que eu vi no Stackoverflow, esse tipo de configuração é suportada a partir do Java 9. Se você tiver o Java 8, é um pouco diferente.
Por fim, é isso. Eu consegui cadastrar uma empresa e listar elas como o instrutor mostra. Coloquei o projeto aqui, depois eu tiro quando você baixar.
Foi um exercício legal para treinar um pouco. Então, obrigado por ter postado essa dúvida aqui. No geral, sobre o que ocorreram com as bibliotecas, eu não sei o que dizer em específico. Acho que os problemas eram esses listados acima mesmo. Gerei o package e fiz o deploy tanto no Jetty quanto no Tomcat
(Se depois de importar ele der algum Warning que o JSP 'if' e 'c' não foram encontrados, só tira e poe a linha <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
no listaEmpresas.jsp e dê CTRL+S pra salvar. E então atualize o projeto maven com CTRL+3 se for necessário, pelo menos no Eclipse foi assim)