HTTP STATUS 404 - Erro java WEB!

Bom dia galera do GUJ, estou com um problema… estou realizando um conexão com o Hibernate + Oracle … creio que a conexão está perfeita pois eu consigo acessar o banco via netbeans e criar tabelas no sql brutoo!

a minha class hibernate reponsavel por fazer a conexão com o banco é essa

  factory = new AnnotationConfiguration()
                    .setProperty("hibernate.dialect", "org.hibernate.dialect.Oracle10gDialect")
                    .setProperty("hibernate.connection.driver_class", "oracle.jdbc.driver.OracleDriver")
                    .setProperty("hibernate.connection.url", "jdbc:oracle:thin:@10.14.6.8:1521:XE")
                    .setProperty("hibernate.connection.username", "devrpc")
                    .setProperty("hibernate.connection.password", "rpctv")
                    .setProperty("hibernate.hbm2ddl.auto", "update")
                    .setProperty("hibernate.c3p0.max_size", "10")
                    .setProperty("hibernate.c3p0.min_size", "2")
                    .setProperty("hibernate.c3p0.timeout", "5000")
                    .setProperty("hibernate.c3p0.max_statements", "10")
                    .setProperty("hibernate.c3p0.idle_test_period", "3000")
                    .setProperty("hibernate.c3p0.acquire_increment", "2")
                    .setProperty("show_sql", "true")
                    .setProperty("use_outer_join", "true")
                    .setProperty("hibernate.generate_statistics", "true")
                    .setProperty("hibernate.use_sql_comments", "true")
                    .setProperty("hibernate.format_sql", "true")
                    .addAnnotatedClass(Aluno.class)

o meu erro que está acontecendo é no console do GlassFish 3.1 o tal erro é este

INFO: Grizzly Framework 1.9.31 started in: 0ms - bound to [0.0.0.0:8484]
INFO: WEB0169: Created HTTP listener [http-listener-2] on host/port [0.0.0.0:8181]
INFO: Grizzly Framework 1.9.31 started in: 0ms - bound to [0.0.0.0:8181]
INFO: JSF1027: [null] Os ELResolvers para JSF não foram registrados com o contêiner JSP.
GRAVE: Class [ dao/DaoGenerico ] not found. Error while loading [ class controle.ControleAluno ]
GRAVE: Class [ dao/DaoGenerico ] not found. Error while loading [ class controle.ControleAluno ]
INFO: Inicializando Mojarra 2.1.0 (FCS 2.1.0-b11) para o contexto '/DEVRPC'
INFO: WEB0671: Loading application [DEVRPC] at [/DEVRPC]
INFO: DEVRPC foi implementado com êxito em 7.250 milisegundos.

A class ControleAluno é esta:

package controle;

import dao.DaoGenerico;
import dao.DaoHibernateGenerico;
import entidade.Aluno;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 * @author jaime
 */
@WebServlet(name = "ControleAluno.jsp", urlPatterns = {"ControleAluno"})
public class ControleAluno extends HttpServlet {

    DaoGenerico dao = new DaoHibernateGenerico();

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        Aluno alu = new Aluno();
        String acao = request.getParameter("acao");

        if (acao.equals("salvar")) {
            alu.setRa(request.getParameter("ra"));
            alu.setNome(request.getParameter("nome"));
            dao.save(alu);
        } else if (acao.equals("excluir")) {
            alu = (Aluno) dao.getById(Long.parseLong(request.getParameter("id")), Aluno.class);
            dao.delete(alu);
        }

        List<Aluno> lista = new ArrayList<Aluno>();
        lista = dao.list(Aluno.class);
        request.setAttribute("listaAlunos", lista);

        request.getRequestDispatcher("index.jsp").forward(request, response);
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /** 
     * Handles the HTTP <code>GET</code> method.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /** 
     * Handles the HTTP <code>POST</code> method.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /** 
     * Returns a short description of the servlet.
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>
}

DaoGenerico

package dao;



import java.io.Serializable;
import java.util.List;

public interface DaoGenerico {

    public Object save(Object objeto);

    public void delete(Object objeto);

    public List list(Class clazz);

    public List listCriterio(Class clazz, String atributo, String criterio);

    public Object getById(Serializable id, Class clazz);


  
   
}

e o meu DaoHibernateGenerico

mport util.HibernateUtil;
import java.io.Serializable;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.HibernateException;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;

public class DaoHibernateGenerico implements DaoGenerico {

    @Override
    public Object save(Object objeto) {
        try {
            Object obj = null;
            HibernateUtil.beginTransaction();
            obj = HibernateUtil.getSession().merge(objeto);
            HibernateUtil.commitTransaction();
            HibernateUtil.closeSession();
            return obj;
        } catch (HibernateException hibernateException) {
            HibernateUtil.rollbackTransaction();
            HibernateUtil.closeSession();
            throw hibernateException;
        }
    }

    @Override
    public void delete(Object objeto) {
        try {
            HibernateUtil.beginTransaction();
            HibernateUtil.getSession().delete(objeto);
            HibernateUtil.commitTransaction();
            HibernateUtil.closeSession();
        } catch (HibernateException hibernateException) {
            HibernateUtil.rollbackTransaction();
            throw new RuntimeException(hibernateException);
        }
    }

    public List list(Class clazz) {
        try {
            List lista = null;
            lista = HibernateUtil.getSession().createCriteria(clazz).list();
            return lista;
        } catch (HibernateException hibernateException) {
            HibernateUtil.rollbackTransaction();
            throw new RuntimeException(hibernateException);
        }
    }

    public Object getById(Serializable id, Class clazz) {
        try {
            Object obj = HibernateUtil.getSession().get(clazz, id);
            return obj;
        } catch (HibernateException hibernateException) {
            HibernateUtil.rollbackTransaction();
            throw new RuntimeException(hibernateException);
        }
    }

    public List listCriterio(Class clazz, String atributo, String criterio) {
        try {
            List lista = null;
            Criteria crit = HibernateUtil.getSession().createCriteria(clazz, atributo);
            crit.add(Restrictions.ilike(atributo, "%" + criterio + "%"));
            crit.addOrder(Order.asc(atributo));
            crit.setMaxResults(30);
            lista = crit.list();
            HibernateUtil.closeSession();
            return lista;
        } catch (HibernateException hibernateException) {
            HibernateUtil.rollbackTransaction();
            throw new RuntimeException(hibernateException);
        }
    }

  
}

Bom na minha View eu passo pro meu controle aluno atravez de uma action a variavel ControleAluno

eu creio que o erro deva ser com o servlets porque parece que os parametros não são passados para o meu controlealuno para então ser persistida no banco!!! como o erro diz… é impossivel carregar a class dao/daogenerico

alguem pode me ajudar? Grato!

Olá,

não foi possível encontrar a classe controle.ControleAluno.

Cara, tenta fazer um build na sua aplicação, e se for necessário re-inicia o seu servidor.

Abs!

certo, sou inciante em java, como faço essa bluid?

Olá,

seria você compilar a sua classe e/ou projeto. Se você estiver usando alguma IDE como Eclipse ou NetBeans, fica na aba Projeto escolha a opção Build Project.

Conhece esse tipo de procedimento?

Abs!

fiz o bluid ta dando erro na lib jdbc14b do oracle vou apaga-la pois não estou utilizando ela!

newbbc

O meu erro agora no glassfish é este

GRAVE: Padrões inválidos de URL para class controle.ControleAluno: [ControleAluno].
GRAVE: Exceção ao implementar o aplicativo [DEVRPC]
GRAVE: Padrões inválidos de URL para class controle.ControleAluno: [ControleAluno].at org.glassfish.apf.AnnotationInfo@123bc38

Só para conhecimento:
A porta do glassfish que por padrão é 8080 foi mudada para 8484 para evitar conflito com a porta do Oracle

Cara,

não está faltando o atributo value nesse seu mapeamento?

@WebServlet(name = "ControleAluno.jsp", urlPatterns = {"ControleAluno"}) 

Deveria ter algo como

@WebServlet(value="/oiMundo", name="ServletOiMundo")

Fonte: Java EE6: Começando com as Servlets 3.0

Tenta fazer essa alteração.

EDITADO: remove a extensão da propriedade name, deixando somente assim:

@WebServlet(name = "ControleAluno", urlPatterns = {"ControleAluno"}) 

Abs!

newbcc fiz oque me falou não tive sucesso algum vou postar os erros que me aparecem agora

Consule GlassFish

GRAVE: Exceção ao implementar o aplicativo [DEVRPC] : Padrões inválidos de URL para class controle.ControleAluno: [ControleAluno.jsp].at org.glassfish.apf.AnnotationInfo@824bcb
Padrões inválidos de URL para class controle.ControleAluno: [ControleAluno.jsp].at org.glassfish.apf.AnnotationInfo@824bcb
	at org.glassfish.apf.impl.AnnotationProcessorImpl.process(AnnotationProcessorImpl.java:367)
	at org.glassfish.apf.impl.AnnotationProcessorImpl.process(AnnotationProcessorImpl.java:375)
	at org.glassfish.apf.impl.AnnotationProcessorImpl.processAnnotations(AnnotationProcessorImpl.java:289)
	at org.glassfish.apf.impl.AnnotationProcessorImpl.process(AnnotationProcessorImpl.java:195)
	at org.glassfish.apf.impl.AnnotationProcessorImpl.process(AnnotationProcessorImpl.java:134)
	at com.sun.enterprise.deployment.archivist.Archivist.processAnnotations(Archivist.java:606)
	at com.sun.enterprise.deployment.archivist.Archivist.readAnnotations(Archivist.java:445)
	at com.sun.enterprise.deployment.archivist.Archivist.readAnnotations(Archivist.java:432)
	at com.sun.enterprise.deployment.archivist.Archivist.readRestDeploymentDescriptors(Archivist.java:408)
	at com.sun.enterprise.deployment.archivist.Archivist.readDeploymentDescriptors(Archivist.java:383)
	at com.sun.enterprise.deployment.archivist.Archivist.open(Archivist.java:246)
	at com.sun.enterprise.deployment.archivist.Archivist.open(Archivist.java:255)
	at com.sun.enterprise.deployment.archivist.Archivist.open(Archivist.java:216)
	at com.sun.enterprise.deployment.archivist.ApplicationFactory.openArchive(ApplicationFactory.java:165)
	at org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider.java:180)
	at org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider.java:93)
	at com.sun.enterprise.v3.server.ApplicationLifecycle.loadDeployer(ApplicationLifecycle.java:826)
	at com.sun.enterprise.v3.server.ApplicationLifecycle.setupContainerInfos(ApplicationLifecycle.java:768)
	at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:368)
	at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240)
	at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:370)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:355)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:370)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1067)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1200(CommandRunnerImpl.java:96)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1247)
	at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1235)
	at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:465)
	at com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:222)
	at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:168)
	at com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:117)
	at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:234)
	at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:822)
	at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:719)
	at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1013)
	at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
	at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
	at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
	at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
	at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
	at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
	at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
	at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
	at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.IllegalArgumentException: Padrões inválidos de URL para class controle.ControleAluno: [ControleAluno.jsp].
	at com.sun.enterprise.deployment.annotation.handlers.WebServletHandler.processAnnotation(WebServletHandler.java:191)
	at com.sun.enterprise.deployment.annotation.handlers.WebServletHandler.processAnnotation(WebServletHandler.java:118)
	at com.sun.enterprise.deployment.annotation.handlers.AbstractWebHandler.processAnnotation(AbstractWebHandler.java:121)
	at com.sun.enterprise.deployment.annotation.handlers.WebServletHandler.processAnnotation(WebServletHandler.java:68)
	at org.glassfish.apf.impl.AnnotationProcessorImpl.process(AnnotationProcessorImpl.java:344)
	... 45 more

Consule do Projeto

Deployment localizado em E:\PROJETO\Programa\DEVRPC\build\web
Initializing...
deploy?DEFAULT=E:\PROJETO\Programa\DEVRPC\build\web&name=DEVRPC&force=true falhou em GlassFish Server 3.1 
 Erro durante a implementação: Exceção ao implementar o aplicativo [DEVRPC] : Padrões inválidos de URL para class controle.ControleAluno: [ControleAluno.jsp].at org.glassfish.apf.AnnotationInfo@824bcb. Consulte o server.log para obter mais detalhes
E:\PROJETO\Programa\DEVRPC\nbproject\build-impl.xml:824: 
O módulo não foi implementado.
	at org.netbeans.modules.j2ee.deployment.devmodules.api.Deployment.deploy(Deployment.java:187)
	at org.netbeans.modules.j2ee.ant.Deploy.execute(Deploy.java:106)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
	at sun.reflect.GeneratedMethodAccessor114.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
	at org.apache.tools.ant.Task.perform(Task.java:348)
	at org.apache.tools.ant.Target.execute(Target.java:390)
	at org.apache.tools.ant.Target.performTasks(Target.java:411)
	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
	at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
	at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
	at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
	at org.apache.tools.ant.module.bridge.impl.BridgeImpl.run(BridgeImpl.java:284)
	at org.apache.tools.ant.module.run.TargetExecutor.run(TargetExecutor.java:539)
	at org.netbeans.core.execution.RunClassThread.run(RunClassThread.java:154)
FALHA NA CONSTRUÇÃO (tempo total: 5 segundos)

Opa,

eu acredito que esse erro:

Padrões inválidos de URL para class controle.ControleAluno:

está acontecendo por causa daqueles atributos na anotação WebServlet.

Eu tentaria deixar somente os atributos name e value, para testar se a aplicação sobe sem exceção.

Abs!

vou realizar este procedimento agora…

cara percebi que meu projeto saiu das aplicações do GlassFish!!! oque fazer?

Clica com o botão direito em cima do servidor e selecione a opção Add or Remove Projects.

Será aberta uma lista com os seus projetos Web. Selecione o quê você quer e adicione no servidor. Será necessário reiniciá-lo.

Abs!

Brother sem resultados! ahuhuauauh

Então, mas você não conseguiu adicionar o seu projeto ao Glassfish ou não conseguiu rodar aplicação?

Se for a segunda opção, faça um teste migrando essa configuração de anotações para o web.xml, ou seja, voltar a usar Servlet 2.0, para realmente sabermos se o problema está nessa declaração de anotações.

Mais uma coisa, qual é a versão do Glassfish que você está usando? Estou perguntando isso, pois somente à partir da versão 3 desse servidor, que o Glassfish dá suporte à Servlet 3.0

Abs! E não desanime :slight_smile:

Desistir não é meu lema hahuahuahuuha… seguinte to com a versão 3.1 do GlassFish e uso o NetBeans 7.0 vou retirar todas as bibliotecas e re-adicionais novamente… eu adicionei o aplicativo no servidor porem pelo endereço fisico do GlassFish http://localhost:4848/common … não sei se é o caso mais agente ta trabalhando em rede aqui são 3 maquinas acessando o maquina servidor que tem o banco Oracle 10g, glassfish 3.1 e o arquivo rais do Projeto, ou seja estamos trabalhando em tempo real … eu andei lendo e vi que o GlassFish tem suporte a CVS para trabalhar em grupo!.. apenas para conhecimento, em ves de utilizarmos o localhost estamos usando o IP da maquina para acesso global das 3 maquinas inclusive o servidor creio que este não é o problema.

abrs

Mas você consegue fazer o deploy da aplicação no servidor? Quero dizer, essas exceções, que estão sendo lançadas, ocorrem quando você tenta colocar a aplicação no servidor, ou quando você acessa a aplicação?

O fato de você acessar através do endereço IP é indiferente, contanto que o servidor esteja rodando nessa máquina e você esteja acessando sua aplicação pelo endereço correto.

Outra coisa, não usa CVS para controle de versão. Se for usar, usa o SVN, ele é melhor que o CVS.

Abs!

NOVO PROBLEMA COM A LIB DO HIBERNATE

AVISO: Illegal character in path at index 32: file:/E:/PROJETO/Programa/DEVRPC 2/build/web/WEB-INF/lib/antlr-2.7.6.jar

SABE RESOLVER ISSO?

Olá,

cara não consegui encontrar nada sobre esse erro. Talvez exista alguma dependência para antlr-2.7.6.jar.

Em algum momento você fez alguma configuração, em arquivos XML com enconding to tipo UTF-8, utilizando caracteres especiais (acentuação, cedilhas)?

Porque o erro que está dando é que em algum lugar existe um caracter especial.

Dá uma olhada, qualquer novidade posta aí.

Abs!

Bom dia,

Você conseguiu resolver o problema?

Se sim, tem como postar aqui?

Se não, também estou procurando uma solução e assim que encontrar estarei postando. blz.

Bom dia,

O problema desta mensagem de erro é que no caminho até o projeto existem nomes de diretórios com palavras compostas separadas por caracteres especiais, neste caso com espaços.
Bastou eu colocar o diretório de projeto do netbeans na raiz e o problema foi resolvido.
A versão do glassfish que apresentou este problema é a 3.1 no meu caso.
Me parece que existe alguns patchs de atualização para o glassfish não apresentar mais este problema.
De qualquer forma valeu por este tópico.