Estou desenvolvendo uma aplicação Web
em Marven
e conexão JPA
, ao implementar a classe filtro minha aplicação não funciona, abaixo detalhes do erro e a implementação da classe Filtro.
GRAVE: Exception starting filter FiltroConexao
java.lang.ClassNotFoundException: controller.Filtro
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1333)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1167)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:520)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:501)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:120)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:258)
at org.apache.catalina.core.ApplicationFilterConfig.(ApplicationFilterConfig.java:105)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4583)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5207)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
package br.com.mercadinho.controller;
import java.io.IOException;
import javax.faces.application.ResourceHandler;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
@WebFilter(filterName = "FiltroConexao", urlPatterns = { "/*" })
public class Filtro implements Filter {
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain)
throws IOException, ServletException {
HttpServletRequest requisicao = (HttpServletRequest) req;
HttpServletResponse resposta = (HttpServletResponse) resp;
HttpSession sessao = requisicao.getSession(false);
String loginURI = requisicao.getContextPath() + "login.xhtml";
boolean logado = sessao != null && sessao.getAttribute("user") != null;
boolean paginaLogin = requisicao.getRequestURI().equals(loginURI);
boolean requisicaoRecurso = requisicao.getRequestURI()
.startsWith(requisicao.getContextPath() +
ResourceHandler.RESOURCE_IDENTIFIER);
if (logado || paginaLogin || requisicaoRecurso) {
chain.doFilter(requisicao, resposta);
} else {
resposta.sendRedirect(loginURI);
}
}
public void destroy() {
}
public void init(FilterConfig arg0) throws ServletException {
}
}
Conexão JPAHibernate
package br.com.mercadinho.model.util;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.persistence.Query;
import org.hibernate.SessionFactory;
public class JPAManager {
private static JPAManager manager;
private EntityManagerFactory sessionFactory;
private JPAManager() {
sessionFactory = Persistence.createEntityManagerFactory("Mercadinho");
sessionFactory = (SessionFactory) Persistence.createEntityManagerFactory("Mercadinho");
}
public static JPAManager getInstance() {
if (manager == null) {
manager = new JPAManager();
}
return manager;
}
public EntityManager getEntityManager() {
return sessionFactory.createEntityManager();
}
}
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<display-name>Mercadinho</display-name>
<servlet>
<servlet-name>Login</servlet-name>
<servlet-class>Mercadinho.src.main.webapp.Login.xhtml</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Login</servlet-name>
<url-pattern>/login.xhtml</url-pattern>
</servlet-mapping>
<jsp-config>
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<el-ignored>false</el-ignored>
</jsp-property-group>
</jsp-config>
<session-config>
<session-timeout>30</session-timeout>
</session-config>
<filter>
<filter-name>FiltroConexao</filter-name>
<filter-class>controller.Filtro</filter-class>
</filter>
<filter-mapping>
<filter-name>FiltroConexao</filter-name>
<url-pattern>/restricted/*</url-pattern>
</filter-mapping>
</web-app>