Pessoal
to com um problema.
rodo a aplicação dentro do eclipse e ela roda normal.
faço deploy da aplicação e ela não roda
no meu Index.jsp faço um redirect para uma pagina principal e nela verifico se o usuário tá logado e redireciono pro login.
ai ele manda a msg que o login não existe.
tai meu index.jsp
<%@ page language=“java” contentType="text/html; charset=ISO-8859-1"
pageEncoding=“ISO-8859-1”%>
<%@ taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c”%>
<c:redirect url=“Principal.jsp”/>
minha pagina principal onde redireciono p/ login
<c:if test="${empty usuarioWeb or not usuarioWeb.logado}">
<c:redirect url="/login" />
</c:if>
meu login esta dentro do usuariosController
@Get
@Path("/login")
public void loginForm() {
}
Olhei os logs do tomcat e estao normal sem erros.
O que pode estar errado. ???
obrigado
claudio
qdo vc faz o c:redirect ele tira o contexto…
em todo caso, não faça isso na jsp, faça os redirects nas classes java…
nao funcionou lucas.
continua do mesmo jeito
redirecionei assim no utilController e retirei os redirect das paginas principal.
@Get
@Path("/Principal")
public void Principal() {
if (! usuarioWeb.isLogado()) {
result.redirectTo(usuariosController.class).loginForm();
}
}
que mais podemos tentar.
obrigado
claudio
o que está acontecendo?
PS: use a convenção do java… métodos começam com letra minuscula
executei o http://localhost:8082/Financas/Index.jsp
ele chama o login e diz:
HTTP Status 404 - /Financas/login
type Status report
message: /Financas/login
description: The requested resource (/Financas/login) is not available.
Apache Tomcat/6.0.26
existe algum método anotado com @Path("/login") ?
o seu nome de contexto é Financas mesmo? com letra maiúscula?
sim tenho no controller
@Get
@Path("/login")
public void loginForm() {
}
e sim meu contexto eh com Finanças com F maiúscula.
Eu programava em Delphi e velhos hábitos demoram a morrer., mas to me esforcando para seguir a convenção java.
O pior é que eu olho nos logs do Tomcat e esta todo normal sem erros.
Cláudio
crie um arquivo chamado log4j.xml na sua source folder, com esse conteúdo:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="stdout" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{HH:mm:ss,SSS} %5p [%-20c{1}] %m%n" />
</layout>
</appender>
<category name="br.com.caelum.vraptor">
<priority value="DEBUG" />
<appender-ref ref="stdout" />
</category>
</log4j:configuration>
e posta aqui por favor o que aparece no log do servidor assim que você sobe ele.
aparece
13/07/2010 13:28:58 org.apache.catalina.core.AprLifecycleListener init
SEVERE: An incompatible version 1.1.16 of the APR based Apache Tomcat Native library is installed, while Tomcat requires version 1.1.17
APR Statistical data …
Poll Statistics …
Polls created : 0
Polls destroyed : 0
Polls cleared : 0
Network Statistics …
Sockets created : 0
Sockets accepted : 0
Sockets closed : 0
Sockets cleared : 0
Total send calls : 0
Minimum send length : 10000000
Maximum send length : 0
Average send length : nan
Total recv calls : 0
Minimum recv length : 10000000
Maximum recv length : 0
Average recv length : nan
Receive timeouts : 0
Receive errors : 0
Receive resets : 0
Last receive error : 0
Total sendfile calls : 0
Minimum sendfile lenght : 10000000
Maximum sendfile lenght : 0
SSL Network Statistics …
Sockets created : 0
Sockets accepted : 0
Sockets closed : 0
Sockets cleared : 0
APR Terminated
13/07/2010 13:28:58 org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8082
13/07/2010 13:28:58 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 745 ms
13/07/2010 13:28:58 org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
13/07/2010 13:28:58 org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.26
13/07/2010 13:28:58 org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor manager.xml
13/07/2010 13:28:59 org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor default_root.xml
13/07/2010 13:28:59 org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor host-manager.xml
13/07/2010 13:28:59 org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive Financas.war
log4j:WARN No appenders could be found for logger (br.com.caelum.vraptor.ioc.spring.DefaultSpringLocator).
log4j:WARN Please initialize the log4j system properly.
13/07/2010 13:29:02 org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory docs
13/07/2010 13:29:02 org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory examples
13/07/2010 13:29:02 org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory ROOT
13/07/2010 13:29:02 org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8082
13/07/2010 13:29:02 org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
13/07/2010 13:29:02 org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/68 config=null
13/07/2010 13:29:03 org.apache.catalina.startup.Catalina start
INFO: Server startup in 4342 ms
instalei o APR e ele ta dando diferença de versão.
mas so fiz isso agora.
claudio
vc configurou o filtro do VRaptor no web.xml?
sim. meu web.xml
<?xml version="1.0" encoding="UTF-8"?>
Financas
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
<!-- configura o controlador do VRaptor -->
<filter>
<filter-name>vraptor</filter-name>
<filter-class>br.com.caelum.vraptor.VRaptor</filter-class>
</filter>
<filter-mapping>
<filter-name>vraptor</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>FORWARD</dispatcher>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
<jsp-config>
<jsp-property-group>
<description>Financas</description>
<display-name>Sistema Financas</display-name>
<url-pattern>*.jsp</url-pattern>
<include-prelude>/Cabecalho.jspf</include-prelude>
<include-coda>/rodape.jspf</include-coda>
</jsp-property-group>
</jsp-config>
to perdido.
você colocou o log4j.xml em uma source folder?
deveria ter aparecido algum log do VRaptor
lucas
coloquei o log4j no source folder e agora ele ta mostrando o erro que nao acha o hibernate.cfg.xml
mas ja coloquei este arquivo em tudo que eh lugar.
veja o erro
19/07/2010 17:44:49 org.apache.catalina.core.StandardContext filterStart
SEVERE: Exception starting filter vraptor
org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘criadorDeSessionFactory’: Invocation of init method failed; nested exception is org.hibernate.HibernateException: /WEB-INF/hibernate.cfg.xml not found
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:133)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:394)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1394)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:512)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:290)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:287)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:189)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:557)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:842)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:416)
at br.com.caelum.vraptor.ioc.spring.SpringBasedContainer.start(SpringBasedContainer.java:68)
at br.com.caelum.vraptor.ioc.spring.SpringProvider.start(SpringProvider.java:82)
at br.com.caelum.vraptor.VRaptor.init(VRaptor.java:110)
at br.com.caelum.vraptor.VRaptor.init(VRaptor.java:103)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
at org.apache.catalina.core.ApplicationFilterConfig.(ApplicationFilterConfig.java:108)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3800)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4450)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:850)
at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:724)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:493)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1206)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:314)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:583)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: org.hibernate.HibernateException: /WEB-INF/hibernate.cfg.xml not found
at org.hibernate.util.ConfigHelper.getResourceAsStream(ConfigHelper.java:170)
at org.hibernate.cfg.Configuration.getConfigurationInputStream(Configuration.java:1453)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1475)
at org.hibernate.cfg.AnnotationConfiguration.configure(AnnotationConfiguration.java:1017)
at br.com.claro.financas.infra.CriadorDeSessionFactory.abre(CriadorDeSessionFactory.java:30)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:340)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:293)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:130)
… 42 more
19/07/2010 17:44:50 org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextInitialized()
19/07/2010 17:44:50 org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextInitialized()
obrigado pela atencao.
claudio
qual é o conteúdo do seu criadorDeSessionFactory?
@Component
@ApplicationScoped
public class CriadorDeSessionFactory implements
ComponentFactory {
private SessionFactory factory;
final static Logger logger = LoggerFactory.getLogger(CriadorDeSessionFactory.class);
@PostConstruct
public void abre() {
InicializaLog();
AnnotationConfiguration configuration = new AnnotationConfiguration();
configuration.configure("/WEB-INF/hibernate.cfg.xml");
this.factory = configuration.buildSessionFactory();
}
public static void InicializaLog(){
BasicConfigurator.configure();
}
public SessionFactory getInstance() {
return this.factory;
}
@PreDestroy
public void fecha() {
this.factory.close();
}
}
eu tiro o path do configure e ele ta o mesmo erro.
que nao acha o cfg.xml
claudio
o hibernate.cfg.xml tem que estar numa source folder…
se vc fizer mta questão de estar na pasta /WEB-INF vc pode receber o ServletContext no construtor e fazer
configuration.configure(context.getResource("/WEB-INF/hibernate.cfg.xml");
ah, e coloque os códigos entre [code] e [/ code] qdo postar aqui, daí fica formatado bonitinho