Usar classes em projeto web!

12 respostas
T

ola pessoal espero que alguem possa me ajudar !
tenho um projeto de um site q quero fazer em jsp começei a fazer a parte de login criei uma classe de conexao com banco de dados e uma clase de login que chama a conexao!
ai começa meu problema quando eu rodo meu jsp aparece um erro quem me disseram ser pq o eclipse naum esta achando o caminho das classes !

me disseram para eu configurar a pasta de classes na pasta lib mas eu ja tentei isso e sempre quando dou refresh no projeto ele apaga minhas classes

se alguem poder me ajudar dizendo como configuro meu projeto e as pastas!

12 Respostas

D

hummmm…eu nao entendi bem…mas, pelo problema, acredito que:

  • vc tem as classes que conectam ao banco e talz…mas, não está colocando elas dentro do projeto web…
    As classes(.class) devem ficar em:
projeto
       |-WEB-INF
               |-----classes

ou vc pode gerar um jar, com as classes que utiliza e colocar os jars em WEB-INF/lib

se possível…cole o stacktrace do erro aqui…

t+

aeciovc

qual o erro? ( stack trace)

T

eh meu problema eh esse os arquivos .java estao numa pasta chamada classes ou te mostrar a estrutura do projeto

pasta do projeto eh a jsp

jsp
classes(onde estado os .java)

conexao(minha pakage)
       
             conexao.java                    

paginas(seria meu wweb content)
      
      META-INF

      WEB-INF

      login.jsp

entao tenho q colocar os .class junto com os aruivos jsp ou soh precisa estar dentro do diretorio paginas?

D

brother,

os .class, que são as tuas classes java compiladas…você DEVE colocar no seguinte diretório…

WEB-INF/classe

em qquer outro lugar, elas não serão encontradas pela aplicação web…(salvo, claro…se forem jars, dentro de WEB-INF/lib).

Como seria a estrutura de um projeto web?

sua_app
      |-------paginas.jsp
      |-------WEB-INF
                      |---------classes
                      |               |---------seus .class
                      |--------- lib
                                     |----------seus .jar(se houverem)

[]'s

T

beleza pessoal vo tentar aqui qualquer coisa retorno deste post mas desde jah muito obrigado!!

soh mais uma coisa estando dentro de do web-inf posso colocar dentro qualquer diretorio??

D

Só mais uma coisa…

os .class DEVEM estar em WEB-INF/classes
por exemplo…se a sua classe estiver no pacote: br.com.minha_app.dao.Conexao.class
no WEB-INF/classes ficará assim:

WEB-INF
     |----------classes
                        |-------br
                                   |----com
                                            |----minha_app
                                                            |-------dao
                                                                      |------Conexao.class

[]'s e bons códigos!

T

em tao fiz isso ele me retorna esses erro

type Exception report

message 

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

exception 

org.apache.jasper.JasperException: Unable to compile class for JSP: 

An error occurred at line: 6 in the generated java file
Only a type can be imported. codigo.LOGIN resolves to a package

An error occurred at line: 7 in the generated java file
Only a type can be imported. conexao.CONEXAO resolves to a package

An error occurred at line: 5 in the jsp file: /teste.jsp
LOGIN cannot be resolved to a type
2: <%@ page import="codigo.LOGIN"  %>
3: <%@ page import="conexao.CONEXAO"  %>
4: <%
5: 	LOGIN fazerLogin = new LOGIN();
6: 	//fazerLogin.setLogin("adm");
7: 	//fazerLogin.setSenha("123");
8: 	


An error occurred at line: 5 in the jsp file: /teste.jsp
LOGIN cannot be resolved to a type
2: <%@ page import="codigo.LOGIN"  %>
3: <%@ page import="conexao.CONEXAO"  %>
4: <%
5: 	LOGIN fazerLogin = new LOGIN();
6: 	//fazerLogin.setLogin("adm");
7: 	//fazerLogin.setSenha("123");
8: 	


Stacktrace:
	org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
	org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
	org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:439)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:349)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:327)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:314)
	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:589)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)


note The full stack trace of the root cause is available in the Apache Tomcat/6.0.26 logs.
D

tem a declaração de pacote na sua classe?

package codigo;

public class Login{

esse colega teve o mesmo problema que você…leia o post todo…tem várias dicas…
t+

http://www.guj.com.br/posts/list/77746.java

L

Uma dica.

Ao invpes de instanciar sua Classe diretamente numa JSP, faz isso em Servlet. Isso resolveria seu problema.

Depois voce pode passar este Objeto como atributo, em escopo que você quiser:

//escopo de solicitação
request.setAttribute("chave", Objeto);
T

consegui muito obrigado era o caminho das classes e eu naum tinha estanciado um objeto conexao na classe login

D

show de bola Thiago…

só peço a gentileza de colocar - [Resolvido] no título do Tópico…

:smiley:
[]'s

T

OK MAS COMO FAÇO ISSO??

Criado 24 de junho de 2010
Ultima resposta 24 de jun. de 2010
Respostas 12
Participantes 4