dúvida para publicar aplicação vraptor na web [resolvido]

12 respostas
R

Caros, bom dia.
fiz uma pequena aplicação de teste que funciona muito bem em http://localhost:8080/usina/cliente.formulario.logic e etc.
Estou tentando colocar na locaweb, (JVM dedicada) mas acho que o pessoal do suporte não está acompanhando as tendências
de framework, dessa forma me vi perdido. gostaria de uma ajuda se possivel.

Esta é atual estrutura Java do servidor da locaweb:

/public_html/ - > Armazenas seus arquivos *.jsp, *.php, etc
/public_html/WEB-INF/ - > Coloque aqui o seu arquivo de configuração web.xml entre outros
/public_html/WEB-INF/classes/ -> Aqui você deve colocar toda sua estrutura de classes(servlet"s)
/public_html/WEB-INF/lib/ - > Bibliotecas utilizadas por sua aplicação

A estrutura da pasta scr no eclipse é esta :
scr/br/com/usina/modelo
scr/br/com/usina/dao
scr/br/com/usina/logic
perguntas :
1)devo fazer upload da pasta br ? ou usina?
2)e para qual pasta da locaweb ?
/public_html/WEB-INF/classes/ ?
3)Os arquivos de configuração hibernate.cfg, vraptor.xml e views.properties devem ficar em /public_html/WEB-INF/ ?
4) é preciso modicar o conteúdo do vraptor.xml ?
ele hj está assim :

<vraptor>
<plugin>org.vraptor.plugin.hibernate.HibernateValidatorPlugin</plugin> 
<component>br.com.usina.logic.FuncionarioLogic</component>
<component>br.com.usina.logic.CargoLogic</component>
<component>br.com.usina.logic.ClienteLogic</component>
<component>br.com.usina.logic.ClasseLogic</component>
<component>br.com.usina.logic.ProdutoLogic</component>
<component>br.com.usina.logic.CategoriaLogic</component>
</vraptor>

Agraceço desde já.
Roger

12 Respostas

Adriano_Almeida

Pode fazer do diretório br, no entanto, você fará o diretório que possui os .class não os .java

Exatamente

Não, eles devem ficar em /public_html/WEB-INF/classes (fora de qualquer pacote)

Não precisa mudar nada! (Ao menos não deveria)

R

[quote=pafuncio]

roger2007:

1)devo fazer upload da pasta br ? ou usina?

Pode fazer do diretório br, no entanto, você fará o diretório que possui os .class não os .java

Caro Pafuncio, bom dia.
os arquivos br.com.usina.logic, br.com.usina.dao, br.com.usina.modelo e etc (os que ficam no pacote src )não são enviados ao servidor?
apenas os que ficam em work/org/apache/jsp/…
desculpe se não entendi, mas que procurei muito sobre isso na net e não consegui nada.
desde já agradeço. um forte abraço :smiley:

Adriano_Almeida

Roger, bom dia.

Os arquivos .java de br.com.usina.logic, br.com.usina.dao e br.com.usina.modelo e etc não precisam ser enviados para o servidor, eles são só os fontes e não tem utilidade nenhuma no seu build de produção (só vão ocupar espaço).

O que vc precisa mandar pro servidor são os .jsp’s , os .class e os arquivos de configuração (properties e xmls) e claro algum outro arquivo que vc utilize (css, js etc).

Em work/org/apache/jsp ficam os seus jsps já compilados, não recomendo que mande-os para o servidor, ao invés, mande os próprios .jsps para o diretório public_html.

Boa sorte!

R

Caro Pafuncio, a luta continua:

veja se é dessa forma e se falta algo:

/home/dominio/public_html
                                       usina/produto (formulario.ok.jsp;lista.ok.jsp)
                                       usina/cargo (formulario.ok.jsp;lista.ok.jsp)
                                       usina/categoria (formulario.ok.jsp;lista.ok.jsp)
                                       usina/admin (login.ok.jsp)
                                       usina/usuario (formulario.ok.jsp;lista.ok.jsp) 
                                       usina/css
                                       usina/parametros.jsp
                                       usina/principal.jsp
                                       usina/construcao.jsp

/home/dominio/public_html/WEB-INF
                                                             classes/vraptor.xml
                                                             classes/views.properties
                                                             classes/log4j.properties
                                                             classes/hibernate.cfg.xml  
                                                             classes/br/com/usina/modelo/Produto.class
                                                             classes/br/com/usina/modelo/Cargo.class
                                                             classes/br/com/usina/modelo/Categoria.class
                                                             classes/br/com/usina/modelo/Admin.class
                                                             classes/br/com/usina/modelo/Usuario.class

                                                             classes/br/com/usina/logic/ProdutoLogic.class
                                                             classes/br/com/usina/logic/CargoLogic.class
                                                             classes/br/com/usina/logic/CategoriaLogic.class
                                                             classes/br/com/usina/logic/AdminLogic.class
                                                             classes/br/com/usina/logic/UsuarioLogic.class
                                                             classes/br/com/usina/logic/DaoInterceptor.class
                                                             classes/br/com/usina/logic/AutorizadorInterceptor.class

                                                             classes/br/com/usina/dao/UsuarioDao.class
                                                             classes/br/com/usina/dao/DaoFactory.class
                                                             classes/br/com/usina/dao/Dao.class

                                                             lib(todas as bibliotecas)
                                                             web.xml
As páginas jsp funcionam muito bem, inclusive com a configuração do CSS: com as urls
www.dominio.com.br/usina/parametros.jsp
www.dominio.com.br/usina/prinicpal.jsp
www.dominio.com.br/usina/construcao.jsp
mas as páginas .logic somente funcionam se
www.dominio.com.br/usina/cargo/formulario.ok.jsp
www.dominio.com.br/usina/cargo/lista.ok.jsp
www.dominio.com.br/usina/produto/formulario.ok.jsp
www.dominio.com.br/usina/produto/lista.ok.jsp e sem obdecer a configuração CSS,
é como se vraptor não estivesse reconhecendo

lembrando a aplicação funciona muito bem em localhost (o banco de dados já está no servidor da localweb e consigo acessar, sem
problemas.
Peço paciencia, pois somente programava em Delphi e após um curso de java e apostilas Caelum me aventurei nessa área.
abraços Roger

Adriano_Almeida

A estrutura parece estar correta.

Como está o web.xml que está lá no servidor?

A lib do vraptor está ok no servidor?

Vc tem acesso aos logs do tomcat no servidor?

Caso dê problemas coloque o log do vraptor em modo INFO e veja as mensagens.

R

web.xml

<?xml version="1.0" encoding="ISO-8859-1"?>

<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee">

	<servlet>
		<servlet-name>vraptor2</servlet-name>
		<servlet-class>org.vraptor.VRaptorServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>

	<servlet-mapping>
		<servlet-name>vraptor2</servlet-name>
		<url-pattern>*.logic</url-pattern>
	</servlet-mapping>

</web-app>

tomcat.out

Feb 22, 2008 1:44:27 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 363 ms
Feb 22, 2008 1:44:27 PM org.apache.catalina.core.StandardService start
INFO: Starting service Tomcat-Standalone
Feb 22, 2008 1:44:27 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/5.5
Feb 22, 2008 1:44:27 PM org.apache.catalina.core.StandardHost start
INFO: XML validation disabled
LW ---> /home/editado/public_html/ 29356784

Feb 22, 2008 1:44:28 PM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/49  config=null
Feb 22, 2008 1:44:28 PM org.apache.catalina.connector.MapperListener registerEngine
WARNING: Unknown default host: localhost
Feb 22, 2008 1:44:28 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 981 ms
LocaWeb interceptor instanciado!

log do tomcat error_log20080222

[Fri Feb 22 14:38:20 2008] [error] [client editado] File does not exist: /home/editado/public_html/usina/cargo/css, referer: http:/editado/usina/cargo/formulario.ok.jsp
[Fri Feb 22 14:38:21 2008] [error] [client editado] File does not exist: /home/editado/public_html/usina/cargo/img, referer: http:editado/usina/cargo/formulario.ok.jsp
[Fri Feb 22 14:38:36 2008] [error] [client editado] File does not exist: /home/editado/public_html/usina/cargo/cargo.armazena.logic, referer: http:/editado/usina/cargo/formulario.ok.jsp

onde altero para ver o log do vraptor?
Poderia ser versão de JVM ou do TomCat?
valeu, brigadão

R

pafuncio:
roger2007:

1)devo fazer upload da pasta br ? ou usina?

Pode fazer do diretório br, no entanto, você fará o diretório que possui os .class não os .java

Exatamente

Não, eles devem ficar em /public_html/WEB-INF/classes (fora de qualquer pacote)

Não precisa mudar nada! (Ao menos não deveria)

Alguém mais? Peço ajuda novamente, pois até agora não consegui resolver sozinho.
desde já agradeço, Roger

R

Caros desenvolvedores do Vraptor peço que me ajudem,
pois pelos canais normais da locaweb, não consegui solução,
acho que eles nem sabem se existe solução.
O vraptor é uma excelente ferramenta, mas não há ajuda no
momento de implementar em um servidor web.
Estou utilizando o plano da locaweb JVM dedicada, não há erros
no log do tomcat, parece que o Vraptor não atua ou seu arquivo de
configuração não funciona ou não é lido pelo sistema, pois
ao digitar a url:
dominio/usina/admin/login.ok.jsp a tela aparece, dessa forma tenho que
concluir que está no diretório certo mas ao digitar:
dominio/usina/admin.login.logic aparece
Not Found
The requested URL /usinox/admin.login.logic was not found on this server.
Peço ajuda, pois preciso que essa aplicação rode num servidor web e não
apenas localhost.
desde já agradeço.

R

roger2007:
Caros desenvolvedores do Vraptor peço que me ajudem,
pois pelos canais normais da locaweb, não consegui solução,
acho que eles nem sabem se existe solução.
O vraptor é uma excelente ferramenta, mas não há ajuda no
momento de implementar em um servidor web.
Estou utilizando o plano da locaweb JVM dedicada, não há erros
no log do tomcat, parece que o Vraptor não atua ou seu arquivo de
configuração não funciona ou não é lido pelo sistema, pois
ao digitar a url:
dominio/usina/admin/login.ok.jsp a tela aparece, dessa forma tenho que
concluir que está no diretório certo mas ao digitar:
dominio/usina/admin.login.logic aparece
Not Found
The requested URL /usinox/admin.login.logic was not found on this server.
Peço ajuda, pois preciso que essa aplicação rode num servidor web e não
apenas localhost.
desde já agradeço.

Caros, será que ninguém até hoje publicou uma aplicação com vraptor na locaweb ?
Gostaria de contar com a ajuda do grupo.
Muito obrigado

Mauricio_Linhares

Você ao menos lembrou de pedir ao suporte da locaweb pra redirecionar requisições que terminem com “.logic” pro seu Tomcat?

R

desculpe, mas não sabia que era necessário, vou pedir agora a locaweb.
muito obrigado

R

Muito obrigado a todos, que me ajudaram. segue o que foi feito para conseguir fazer funcionar.

Relembrando o que foi executado :
pedi para liberar o acesso no tomcat para .logic e como tenho mais de uma aplicação rodando no servidor pedi que fosse criado um contexto para aplicação, ou seja, lá no eclipse, no tomcat eu defini o contexto com odont dessa forma pedi o contexto na locaweb odont.
Lá na pasta public_html eles criaram uma pasta odont e ficou a seguinte estrutura:

/public_html/odont >> JSP , HTML e etc
/public_html/odont/WEB-INF >> web.xml
/public_html/odont/WEB-INF/lib >> Bibliotecas
/public_html/odont/WEB-INF/classes >> Classes e pacotes (vraptor.xml,hibernate.cfg, views.properties e log4j.properties)
Depois do contexto criado e a estrutura enviada para a locaweb, somente foi preciso inicializar o tom cat.
o meu plano é com a JVM dedicada, dessa forma posso inicializar o tom cat a qualquer hora.

Criado 22 de fevereiro de 2008
Ultima resposta 6 de mar. de 2008
Respostas 12
Participantes 3