Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Carcleo

Onde estou errando?

Recommended Posts

Onde estou errando?


Bom, instalei o Apache Tomcat aqui:


C:\Program Files\Apache Software Foundation\Tomcat 8.0\


Entrei na pasta


C:\Program Files\Apache Software Foundation\Tomcat 8.0\webapps\ROOT\


e criei uma pasta "jsp" para dizer que dentro dela vou colocar meus projetos.


Daí pra frente a árvore de diretórios do meu projeto ficou assim:


imwsaogotardo.com.br (nome do site)


imwsaogotardo.com.br
grava.jsp
index.jsp
/ebd
/dao
/banco
Conexao.java
/pessoas
DAOPessoa.java
DAOProfessor.java
/modelos
/perguntas
Pergunta.java
/pessoas
Pessoa.java
Professor.java
Usuario.java
/retornos
Comentario.java
Resposta.java
Retorno.java
/salas
Sala.java


O arquivo index.jsp esta assim:



<%@ page import="ebd.dao.pessoas" %>
<%@ page import="ebd.dao.banco" %>
<html>
<head>
<title>IMW Muriaé São Gotardo - EBD</title>
<head>
<body>
<%@
DAOPessoa pessoa = new DAOPessoa();
outprint(pessoa.buscarTodos());
%>
</body>
</html>

Eis o erro gerado:


HTTP Status 500 - java.lang.ClassNotFoundException: org.apache.jsp.jsp.imwsaogotardo_com_br.index_jsp

type Exception report

message java.lang.ClassNotFoundException: org.apache.jsp.jsp.imwsaogotardo_com_br.index_jsp

description The server encountered an internal error that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: java.lang.ClassNotFoundException: org.apache.jsp.jsp.imwsaogotardo_com_br.index_jsp
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:176)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause

java.lang.ClassNotFoundException: org.apache.jsp.jsp.imwsaogotardo_com_br.index_jsp
java.net.URLClassLoader.findClass(Unknown Source)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:131)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:62)
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:171)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
note The full stack trace of the root cause is available in the Apache Tomcat/8.0.22 logs.

Apache Tomcat/8.0.22

Onde estou errando?

Compartilhar este post


Link para o post
Compartilhar em outros sites

não é recomendável instalar o tomcat dentro de pastas;
principalmente com espaços.
enfim.. a "home" do tomcat está abrindo normalmente?

para 1 teste simples na sua pasta "jsp"
crie um arquivo simples assim:

<%@ page contentType="text/html; charset=iso-8859-1" language="java"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>teste simples JSP</title>
</head>

<body>
<form id="form1" name="form1" method="post" action="">
  <label>
   Digite uma palavra qualquer: 
  <input name="nome" type="text" id="nome" />
  </label>
  <label>
  <input type="submit" name="Submit" value="Submit" />
  </label>
</form>

<%
out.print("vc digitou: "+(request.getParameter("nome")));
%>
</body>
</html>

(atenção ao ponto entre "out" e "print")

vamos chamar essa pagina de teste.jsp

no navegador, insira esse endereço:

http://localhost:8080/jsp/teste.jsp

veja o que será exibido; teste o formulário p/ "pegar a manha"

(na verdade, páginas JSP são bem mais semelhantes a PHP do que java "stand alone")

mas verifique a porta que está usando p/ o tomcat;
caso as portas 80 e 8080 já estiverem sendo usadas por outros programas,
normalmente usa-se a porta 8084 p/ o tomcat.

dica: estruturas de sites em java seguem uma ordem bem rigida
(é obrigatorio ter, por exemplo, uma pasta chamada web-inf
e um mapeamento em seu site estruturado num arquivo xml chamado
web.xml etc., etc.,)
recomendo que estude servlets e sobre containers (e java ee também, claro).

dica boa: apostilas da caelum, K19 ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

No arquivo que criei index.jsp, funcionou perfeito!

index.jsp

 

<html>
  <head>
     <title>IMW Muriaé São Gotardo - EBD</title>
  <head>
  <body>
    EBD<br /><br /><br />
    <form action="grava.jsp" method="post">
      <input type="text" name="nome" id="nome"><br />
      <input type="text" name="nascimentoDia" id="nascimentoDia"><br />
      <input type="text" name="nascimentoMes" id="nascimentoMes"><br />
      <input type="text" name="nascimentoAno" id="nascimentoAno"><br />
      <input type="submit" value="Envia">
    </form><br />
  </body>
</html>

grava.jsp

 

<%
out.print("<pre>");
out.print(request.getParameter("nome")); 
out.print("<br />"); 
out.print(request.getParameter("nascimentoDia")); 
out.print("<br />"); 
out.print(request.getParameter("nascimentoMes")); 
out.print("<br />"); 
out.print(request.getParameter("nascimentoAno")); 
out.print("</pre>");
%>

O problema ocorre na hora em que eu coloco os includes e packages no arquivo index.jsp

index.jsp

 

<%@ page import="java.util.List" %>
<%@ page import="ebd.dao.pessoas*." %>
<%@ page import="ebd.dao.banco*." %>
<html>
  <head>
     <title>IMW Muriaé São Gotardo - EBD</title>
  <head>
  <body>
    EBD<br /><br /><br />
    <form action="grava.jsp" method="post">
      <input type="text" name="nome" id="nome"><br />
      <input type="text" name="nascimentoDia" id="nascimentoDia"><br />
      <input type="text" name="nascimentoMes" id="nascimentoMes"><br />
      <input type="text" name="nascimentoAno" id="nascimentoAno"><br />
      <input type="submit" value="Envia">
    </form><br />
 
<%@
 DaoPessoa pessoa = new DaoPessoa();
 outprint(pessoa.buscarTodos());
%>
  </body>
</html>

Na verdade o que eu tenho é um arquivo DaoPessoa.java na impotação
Mas a JVM não lê .java e sim .class.
Deve precisar primeiro compilar o .java.
Mas onde vou fazer isso? O Servidor Tomcat será que faz?
Senão, precisarei usar um compilador manual (javac) e sair compilado manualmente arquivo a arquivo .java ou uma IDE (NetBeans) para fazer a compilaçao de todo .java arquivos de uma só vez!

Nestes arquivos que fiz, o form do index.jsp é submetido corretamente e o grava.jsp recebe normalmente e imprime os campos do form.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.