Executando JSP em TomCat

Estou utilizando o IDE Apache NetBeans 12.5 e não consigo rodar um pequeno programa que mostra os títulos de H1 até H6 (diversos tamanhos de letra) para uma frase. Abaixo está o código:

<%-- 
    Document   : teste01
    Created on : 06/10/2021, 16:18:04
    Author     : Usuario
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Vários tamanhos de texto</title>
    </head>
    <body>
        <h1>Hello World!</h1> 
        <br><br>
        
        <%
            for(int i = 1; i <= 6; i++) {
                System.out.println("<center><H" + i + ">Iniciando estudos JSP</H" + i + "</center>");
            }
        %>
        
    </body>
</html>

Não há exibição da página que seria o correto para o programa, talvez eu não esteja executando direito. Mas veja as mensagens que o NetBeans exibe após a tentativa de rodar o programa:

cd C:\Users\Usuario\Documents\NetBeansProjects\java; "JAVA_HOME=C:\\Program Files (x86)\\Java\\jdk1.8.0_301" cmd /c "\"C:\\Program Files (x86)\\NetBeans-12.5\\netbeans\\java\\maven\\bin\\mvn.cmd\" -Dnetbeans.deploy=true -Dnetbeans.deploy.clientUrlPart=/teste01.jsp \"-Dmaven.ext.class.path=C:\\Program Files (x86)\\NetBeans-12.5\\netbeans\\java\\maven-nblib\\netbeans-eventspy.jar\" -Dfile.encoding=UTF-8 package"
Scanning for projects...

-------------------------< com.mycompany:java >-------------------------
Building java 1.0-SNAPSHOT
--------------------------------[ war ]---------------------------------

--- maven-dependency-plugin:2.6:copy (default) @ java ---

--- maven-resources-plugin:2.6:resources (default-resources) @ java ---
Using 'UTF-8' encoding to copy filtered resources.
skip non existing resourceDirectory C:\Users\Usuario\Documents\NetBeansProjects\java\src\main\resources

--- maven-compiler-plugin:3.1:compile (default-compile) @ java ---
Nothing to compile - all classes are up to date

--- maven-resources-plugin:2.6:testResources (default-testResources) @ java ---
Using 'UTF-8' encoding to copy filtered resources.
skip non existing resourceDirectory C:\Users\Usuario\Documents\NetBeansProjects\java\src\test\resources

--- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ java ---
No sources to compile

--- maven-surefire-plugin:2.12.4:test (default-test) @ java ---

--- maven-war-plugin:2.3:war (default-war) @ java ---
Packaging webapp
Assembling webapp [java] in [C:\Users\Usuario\Documents\NetBeansProjects\java\target\java-1.0-SNAPSHOT]
Processing war project
Copying webapp resources [C:\Users\Usuario\Documents\NetBeansProjects\java\src\main\webapp]
Webapp assembled in [31 msecs]
Building war: C:\Users\Usuario\Documents\NetBeansProjects\java\target\java-1.0-SNAPSHOT.war
------------------------------------------------------------------------
BUILD SUCCESS
------------------------------------------------------------------------
Total time:  1.453 s
Finished at: 2021-10-06T16:43:06-03:00
------------------------------------------------------------------------
Deploying on Apache Tomcat or TomEE
    profile mode: false
    debug mode: false
    force redeploy: true
In-place deployment at C:\Users\Usuario\Documents\NetBeansProjects\java\target\java-1.0-SNAPSHOT
Deployment is in progress...
deploy?config=file%3A%2FC%3A%2FUsers%2FUsuario%2FAppData%2FLocal%2FTemp%2Fcontext8325595679556069293.xml&path=/java
FAIL - Failed to deploy application at context path [/java]

Gostaria que vocês do GUJ me ajudassem a entender e talvez resolver este problema. A versão do java é JDK8 e a versão do TomCat é 9 (alguma coisa).

Atenciosamente,
Ronaldo

A página simplesmente aparece em branco? Onde a jsp está localizada no projeto?

1 curtida

O arquivo jsp está dentro de java\Web Pages\META-INF\teste01.jsp (veja que java é o nome do projeto e os demais são as subpastas e o arquivo que se chama teste01.jsp). Tinha uma lâmpada amarela na linha 1 do programa e sua mensagem dizia: Enable HTML error checking for all files of the text… (um pedaço da mensagem eu perdi).

Veja o print da tela do NetBeans, que você pode ver onde estão as pastas e arquivos, abaixo:

E quando vc acessa esse teste01.jsp, ela simplesmente aparece em branco?

1 curtida

Não sei o endereço que devo usar no navegador. Eu sei que começa com http://localhost:8080… alguma coisa. Você sabe o endereço que devo acessar para carregar o teste01.jsp? Tem que estar com o NetBeans aberto? O arquivo teste01.jsp tem que estar sendo executado?

Obrigado,
Ronaldo

Normalmente é assim:

host + contexto + endereço da página

No seu caso, deve ser assim:

http://localhost:8080/java/teste01.jsp

Este é o caminho que leva ao arquivo C:\Users\Usuario\Documents\NetBeansProjects\java\src\main\webapp\teste01.jsp

Como deve ser o url passando pelo http:localhost:8080:…?

Veja o que é exibido quando carrego o arquivo no navegador:

Ele apenas exibe o programa no navegador sem alterar nada, nem considerar as tags.
Quando eu carrego o arquivo index.html, ele respeita as tags e exibe Hello World. Veja:

Acredito que o problema está no NetBeans, Java e TomCat. Veja o resumo que o NetBeans mostra depois de eu pedir para ele executar o teste01.jsp:

Repare que a última linha afirma: FAIL - Failed to deploy application at context path [/java]

Pode ser alguma variável de sistema (windows) que não está definida?
Quando tendo carregar com o caminho http://localhost:8080/java/teste01.jsp veja o que ele me mostra:

Atenciosamente,
Ronaldo

Seria assim:

Veja a mensagem de erro que o NetBeans me dá, mas repare nas últimas 10 linhas, onde ele afirma não conseguir montar o path [/java]. Que que eu faço agora?

cd C:\Users\Usuario\Documents\NetBeansProjects\java; "JAVA_HOME=C:\\Program Files (x86)\\Java\\jdk1.8.0_301" cmd /c "\"C:\\Program Files (x86)\\NetBeans-12.5\\netbeans\\java\\maven\\bin\\mvn.cmd\" -Dnetbeans.deploy=true -Dnetbeans.deploy.clientUrlPart=/teste01.jsp \"-Dmaven.ext.class.path=C:\\Program Files (x86)\\NetBeans-12.5\\netbeans\\java\\maven-nblib\\netbeans-eventspy.jar\" -Dfile.encoding=UTF-8 package"
Scanning for projects...

-------------------------< com.mycompany:java >-------------------------
Building java 1.0-SNAPSHOT
--------------------------------[ war ]---------------------------------

--- maven-dependency-plugin:2.6:copy (default) @ java ---

--- maven-resources-plugin:2.6:resources (default-resources) @ java ---
Using 'UTF-8' encoding to copy filtered resources.
skip non existing resourceDirectory C:\Users\Usuario\Documents\NetBeansProjects\java\src\main\resources

--- maven-compiler-plugin:3.1:compile (default-compile) @ java ---
Nothing to compile - all classes are up to date

--- maven-resources-plugin:2.6:testResources (default-testResources) @ java ---
Using 'UTF-8' encoding to copy filtered resources.
skip non existing resourceDirectory C:\Users\Usuario\Documents\NetBeansProjects\java\src\test\resources

--- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ java ---
No sources to compile

--- maven-surefire-plugin:2.12.4:test (default-test) @ java ---

--- maven-war-plugin:2.3:war (default-war) @ java ---
Packaging webapp
Assembling webapp [java] in [C:\Users\Usuario\Documents\NetBeansProjects\java\target\java-1.0-SNAPSHOT]
Processing war project
Copying webapp resources [C:\Users\Usuario\Documents\NetBeansProjects\java\src\main\webapp]
Webapp assembled in [31 msecs]
Building war: C:\Users\Usuario\Documents\NetBeansProjects\java\target\java-1.0-SNAPSHOT.war
------------------------------------------------------------------------
BUILD SUCCESS
------------------------------------------------------------------------
Total time:  1.812 s
Finished at: 2021-10-08T08:55:59-03:00
------------------------------------------------------------------------
Deploying on Apache Tomcat or TomEE
    profile mode: false
    debug mode: false
    force redeploy: true
In-place deployment at C:\Users\Usuario\Documents\NetBeansProjects\java\target\java-1.0-SNAPSHOT
Deployment is in progress...
deploy?config=file%3A%2FC%3A%2FUsers%2FUsuario%2FAppData%2FLocal%2FTemp%2Fcontext5340408082414213668.xml&path=/java
FAIL - Failed to deploy application at context path [/java]

Eita, brabo que não mostrou o pq falhou. Não apareceu nenhuma stacktrace? Tenta ver se tu acha algum log na pasta do tomcat.

Uma coisa que vc podia alterar é o nome do projeto. Tente deixar algo mais apropriado ao que vc está fazendo.

O exemplo é de um livro muito bom e lá o nome do projeto é java. Não é esta a questão. Talvez na hora de instalar eu tenha cometido um erro na hora de juntar o NetBeans com o TomCat. Eu não configurei um elemento chamado Catalina (se não me engano).
Faço parte de outro fórum e o professor disse que pode faltar a configuração abaixo no server.xml, mas o projeto do NetBeans não tem esse arquivo, veja a configuração que ele me passou:

<Host name="localhost"  appBase="C:\apache\apache-tomee-7.0.2-plume\webapps"
                  unpackWARs="true" autoDeploy="true">

Você sabe onde devo colocar? No meu projeto tem os seguintes arquivos pom.xml e nb-configuration.xml.

Ah sim, o nome não é problema não, soh mencionei msm por boa prática. Em relação ao erro, seria bom se encontrasse algo no log do servidor que ajudasse encontrar o problema. Pq só com a mensagem que está aparecendo para vc fica bem complicado saber o que pode está errado.

1 curtida

Hmmm, esse arquivo é do servidor e não do seu projeto. Tente encontrar esse server.xml na pasta do seu servidor.