Cinfigurar WEB-INF/classes

8 respostas
A

Queria fazer a minha aplicacao biscar os arquivos .class na pasta WEB-INF/classes. Me falaram que o Tomcat busca meus JavaBeans nesta pasta por default, mas o meu nao. Tive que colocar em commons/classes.

Como faço pra configurar?



Obrigado

8 Respostas

D

Oal Alex,



nenhuma configuração deverá ser previammente realizada cara…

Basta vc possuir seu Tomcat e suas variaveis de ambiente(TOMCAT_HOME,CATALINA_HOME,HAVA_HOME + CLASSPATH)setados corretamente;…que tudo deverá funcionar…



Por exemplo :



Code:




Coloque a pasta da sua aplicação embaixo de /tomcat 4.1/webapps



Se a sua aplicalçao possuir a seguinte estrutura …:



/tomcat 4.1/webapps/myApp

|-----------*.jsp

|-----------WEB-INF

|------------classes

|------------lib

|------------web.xml






deverá funcionar normalmente…



Mas me diga uma coisa…vc esta utilizando bean ou servlets ???







[]´s







Duque



T
Aproveitando a duvida do nosso amigo e a sua explicacao, como sei se estou usando servlets ou JavaBeans?





Eu estou com o mesmo problema do amigo acima: segue abaixo meu problema :





Onde fica o arquivo .class de conexao ao banco?


Para que o JSP ache, tenho que colocar no "diretorio da aplicacao"WEB-INFclasses certo? É isso mesmo?





Meu JSP nao esta encontrando a classe:


Citação:


Generated servlet error:


[javac] Since fork is true, ignoring compiler setting.


[javac] Compiling 1 source file


[javac] Since fork is true, ignoring compiler setting.


[javac] C:Tomcat 4.1workStandalonelocalhost estejspcon_servlet_jsp.java:7: package banco.conbd does not exist


[javac] import banco.conbd.<em>;


[javac] ^


[javac] C:Tomcat 4.1workStandalonelocalhost estejspcon_servlet_jsp.java:44: cannot resolve symbol


[javac] symbol : class conbd


[javac] location: class org.apache.jsp.con_servlet_jsp


[javac] conbd acesso = null;


[javac] ^








A outra duvida é:





No JSP eu tenho que usar a linha:


Código:


<%@ page import = "untitled3.TransacaoBanco.</em>" %>





e a linha:


Código:


<jsp:useBean id="listausuariosBeanId" scope="session" class="untitled3.TransacaoBanco" />





Qual a diferenca das duas?





Eu vi uma aplicacao que nao usava a linha useBean, so a import, o que isso quer dizer?


De uma forma ta acessando como servlet e da outra com Java Beans?


Desculpem a ignorancia, estou tentando me acostumar com os termos do java!





Obrigado!
T

Agora meu JSP ja esta enxergando meu servlet que faz a conexao com o banco, mas minhas duvidas sobre o servlet e o JavaBeans ainda persiste!



Obrigado!



F

Ops,



basta colocar as classes compiladas na pasta NomeDaMinhaAplicacao//WEB-INF//classes. Desta foram não precisa de nenhuma configuração adicional no Tomcat. Caso queiram colocar em outras pastas, tem q mapê-la no server.xml.



Quote:


Como vc sabe que está usando Servle ou JavaBean?




Pra ser um servlet, a classe precisa herdar de HttpServlet. Portanto se sua classe fosse um servelt vc saberia :slight_smile:



Quote:


Eu vi uma aplicacao que nao usava a linha useBean, so a import, o que isso quer dizer?

De uma forma ta acessando como servlet e da outra com Java Beans?

Desculpem a ignorancia, estou tentando me acostumar com os termos do java!






Não. Das duas formas vc NÂO está acessando um servlet. Se vc usar o jsp:usebean, então CERTAMENTE está acessando um servlet. Usando esta tag vc pode definir o escopo(sessão, aplicação, reques).

Usando apenas o import e declarrando a classe no JSP, vc pode usar um JBean ou não.

Para ser um JBean, basicamente a classe não pode receber argumentos no construtor .



A

Estou usando JavaBean.



Milhoes de pessoas ja me falaram que nao preciso configurar nada, mas se coloco minhas classes em webapps/ROOT/minha_aplicacao/WEB-INF/classes,

simplesmente ele dá dau e diz que nao nao existe.



JAVA_HOME setado

CATALINA_HOME setado



agora o TOMCAT_HOME nao tenho nem ideia e o classpath nao ja vem configurado?

T

Seguinte, eu fiz assim:



Para que o Tomcat acesse o BD:

Coloque o arquivo .jar do seu banco de dados no diretorio

c:\Tomcat 4.1\common\lib



Para que o java acesse o BD:

Coloque o arquivo .jar no diretorio c:\j2sdk1.4.0\jre\lib\ext



Para ambos, coloque o caminho inteiro + o arquivo.jar no classpath.





Acessando o banco de dados apartir de um servlet

---------------------------------------------------------------





Para usar um servlet como camada intermediaria para acessar o banco de dados, proceda da seguinte forma:



No servlet conexao use a primeira linha: package banco;



crie a seguinte arvore de diretorio:



Teste\WEB-INF\classes\banco



dentro voce coloca a classe ex: conexao.java



e dentro do JSP que usa a classe, utilize a seguinte linha:

Code:


<%@ page import = "banco., java.sql."%>



conexao conexao_1 = new conexao();








Desta forma voce vai estar importando todas os servlets ou classes que estao dentro do package e diretorio banco.



------------------------------------------------------------------------------------

Aqui deu certo assim, se eu disse alguma besteira, por favor me corrijam.
F
Olá Alex,





o erro está aqui:


"webapps/ROOT/minha_aplicacao/WEB-INF/classes"





o correto seria:


webapps/minha_aplicacao/WEB-INF/classes (SEM o ROOT)





ou então:


webapps/ROOT/WEB-INF/classes, (SEM o minha_aplicacao)





O tomcat entende cada pasta abaixo do webapps, como sendo uma nova aplicação.


A pasta ROOT vc acessa assim: <a>http://localhost:8080/</a>


A pasta minha_aplcaicao vc acessa assim: <a>http://localhost:8080/minha_aplicacao/</a>
A

Valeu cara, vou testar isso hoje.



Criado 6 de junho de 2003
Ultima resposta 16 de jun. de 2003
Respostas 8
Participantes 4