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=""
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=""
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!
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"
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)
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.