Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

jstl 2.0

Bom dia uso o tomcat 10, então queria saber como e onde faço o download do jstl 2.0 e como configurar o mesmo em relação ao uri="" e prefix=""

6 respostas

Olá Jorge! Tudo bem?

No vídeo do curso o instrutor realmente fala que seria possível utilizar o Tomcat em uma versão futura, após a versão 9...

Acontece que no momento da produção do vídeo ainda não tínhamos o Tomcat 10 lançado, então não sabíamos das diferenças que iriam ocorrer entre essa versão e a versão 9.

No Tomcact 10 nós não conseguimos utilizar as importações do javax que são necessárias para trabalhar com o projeto Java Web.

Isso ocorre pois a partir do Tomcat 10 nós temos a implementação do projeto Jakarta, que é mantido pela Eclipse foundation, e "substituiu" o JavaEE, que contém essas tecnologias do Java para web que utilizamos nesses projetos.

Em 2018 a Oracle cedeu para a Eclipse foudation os recursos que faziam para do JavaEE, que passou a ser chamado de Jakarta

Então é melhor continuar utilizando o Tomcat 9, pois assim teremos uma facilidade maior de realizar o projeto como mostrado nas aulas.

Vou deixar aqui abaixo o link da página para download do Tomcat 9 :

Página para download do Tomcat 9

Utilizando essa versão, basta seguir o mesmo passo a passo do instrutor para configurar 😄

A explicação foi clara? Se eu puder te ajudar em algo mais é só falar!

 

 

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!

Bom dia amigo, fiz as alterações propostas, mas ai gera um novo error.

O web.xml começa a gerar um error e simplesmente ele muda o nome da servlet, e quando eu jogo para cadastrar a empresa da o error 404. Então eu peguei e troquei onde eu estava referenciando para ir a servlet para o padrão que foi alterado ou seja "/NovaEmpresa" e quando faço isso o error 404 some e aparece o error "500 Error instantiating servlet class"

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

como posso proceder ???

Olá Jorge!

Vou te pedir para reiniciar a IDE (se não já tiver feito isso), pois o Eclipse muitas vezes mantém os dados do servidor anterior que estava rodando, e podemos ter erros que na verdade ocorrem pela IDE não ter detectado a diferença para o novo servidor que colocamos.

Após reiniciar a IDE, se o erro persistir, poderia enviar uma imagem da mensagem de erro que aparece em seu terminal quando executa a aplicação?

Te aguardo 😄

Bom, fiz o que foi citado acima. e continua o mesmo error. segue abaixo o erro.

java.lang.ClassNotFoundException: jakarta.servlet.http.HttpServlet
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1407)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1215)
    at java.base/java.lang.ClassLoader.defineClass1(Native Method)
    at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1010)
    at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
    at org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2478)
    at org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:870)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1371)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1215)
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:538)
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:519)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:149)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1049)
    at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:767)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:128)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1726)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
    at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.base/java.lang.Thread.run(Thread.java:831)
solução!

Olá Jorge!

Repare que no erro temos: jakarta.servlet.http.HttpServlet, isso ocorre pois a importação que precisamos fazer na verdade é como a que o instrutor fez: javax.servlet.http.HttpServlet.

Esse problema ainda é relacionado ao Tomcat10 que foi utilizado para criar o projeto. O Tomcat10 não aceitava as importações javax.servlet.http.HttpServlet, e fez com que fossem feitas as importações do pacote jakarta.

Para resolver, poderá substituir nas classes as importações que iniciam por jakarta, trocando pelas importações javax.

Outra solução definitiva seria recriar o projeto, usando o Tomcat 9, isso garante que não vamos mais ter problemas com configurações que o servidor anterior já havia feito em seu projeto, e as importações serão feitas corretamente.

Me confirma como você decidiu tratar a solução e se deu certo?

Te aguardo! 😄

Olá, realmente resolvi fazer do zero, com os imports do javax e com o tomcat9, ocorreu tudo certo. Muito obrigado pela ajuda.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software