Bom pessoal,
Estava muito bem desenvolvendo minha Servlet, eis q percebo que escrevi o nome dela errado, ao invés de ter escrito por exemplo ServletUm, escrevi SerletUm.
Estou usando o netbeans com o tomcat incluso.Refatorei, e verifiquei o web.xml. Tudo certinho lá, o nome da classe agora está certa (ServletUm).
Porém quando mando executar minha servlet, o tomcat continua buscando a servlet antiga e ignora a nova.
Ja restartei, parei, reiniciei, limpei, construi, desconstrui fechei o netbeans e abri e nada !!!
Já olhei em tudo qto é local.
Alguem teve alguma experiência siilar e saber como me ajudar ?
Obrigado desde já.
posta mais informações. o teu arquivo web.xml por exemplo.
[]'s
É um projeto meu de estudo bem simples. Este é o web.xml.
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 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_2_5.xsd">
<display-name>
MeuPrimeiroDAO
</display-name>
<servlet>
<display-name>LivrariaServlet</display-name>
<servlet-name>LivrariaServlet</servlet-name>
<servlet-class>desenv.web.LivrariaServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LivrariaServlet</servlet-name>
<url-pattern>/LivrariaServlet</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
cara, dá um clean no projeto, isso acontece direto comigo… netbeans é uma m****
E esta é minha Servlet:
package desenv.web;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import desenv.root.Livros;
import desenv.dao.*;
import java.util.List;
import javax.servlet.RequestDispatcher;
import javax.servlet.http.HttpSession;
/**
*
* @author Fernando
*/
public class LivrariaServlet extends HttpServlet {
/**
* Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
* @param request servlet request
* @param response servlet response
*/
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String cmd = null;
cmd = request.getParameter("cmd");
if(cmd == null)
cmd = "listar";
InterfaceLivrosDAO dao;
Livros livro = new Livros();
if(cmd != null || !cmd.equalsIgnoreCase("principal")){
livro.setIsbn(request.getParameter("isbn"));
livro.setTitulo(request.getParameter("titulo"));
String edicao = request.getParameter("edicao");
if(edicao == null)edicao="1";
livro.setEdicao(Integer.parseInt(edicao));
livro.setPublicacao(request.getParameter("publicacao"));
livro.setDescricao(request.getParameter("descricao"));
}
try{
dao = new LivrariaDao();
RequestDispatcher rd = null;
if(cmd.equalsIgnoreCase("listar")){
List livrosList = dao.todosLivros();
request.setAttribute("livrosList", livrosList);
rd= request.getRequestDispatcher("/mostrarLivrosCads.jsp");
}
else if (cmd.equalsIgnoreCase("addliv")){
dao.salvar(livro);
rd = request.getRequestDispatcher("LivrariaServlet?cmd=listar");
}
else if(cmd.equalsIgnoreCase("exc")){
dao.excluir(livro);
rd= request.getRequestDispatcher("LivrariaServlet?cmd=listar");
}
else if(cmd.equalsIgnoreCase("atu")){
livro = dao.procuraLivro(livro.getIsbn());
HttpSession session = request.getSession(true);
session.setAttribute("livro", livro);
rd= request.getRequestDispatcher("/formAtuLivro.jsp");
}
else if(cmd.equalsIgnoreCase("atualizar")){
dao.atualizar(livro);
rd=request.getRequestDispatcher("LivrariaServlet?cmd=listar");
}
else if(cmd.equalsIgnoreCase("principal")){
rd = request.getRequestDispatcher("/mostrarLivrosCads.jsp");
}
rd.forward(request,response);
}catch (Exception e){
e.printStackTrace();
throw new ServletException(e);
}
}
}
Quando dou Clean me aparece:
C:\DesenvSources\EstudoServlet\ProjetoEstudo\nbproject\build-impl.xml:813: Unable to delete directory C:\DesenvSources\EstudoServlet\ProjetoEstudo\build
fecha e abre o netbeans, depois tenta…
Já fiz.
Estou pensando em migrar p/ o Glassfish, vale a pena ?
A configuração do xml do glassfish seria idêntica ?
O diretório C:\DesenvSources\EstudoServlet\ProjetoEstudo\build existe? O que você mudou na refatoração além do nome da classe e configuração? Faça o clean build no projeto, limpe o cache do browser, apaga na mão na pasta do tomcat e até mesmo (por último) crie um novo projeto.
Dá uma olhada como está a pasta WEB-INF. Lá deve estar com o código velho.
Já fiz.
Estou pensando em migrar p/ o Glassfish, vale a pena ?
A configuração do xml do glassfish seria idêntica ?[/quote]
Cara, se a cada problema que você encontrar você mudar de servidor, daki a pouco vai faltar servidor hehehe,
nunca usei o glassfish, então não vou opinar, mas segue as dicas do amigo fiaux que deve funcionar…
Já fiz.
Estou pensando em migrar p/ o Glassfish, vale a pena ?
A configuração do xml do glassfish seria idêntica ?[/quote]
Cara, se a cada problema que você encontrar você mudar de servidor, daki a pouco vai faltar servidor hehehe,
nunca usei o glassfish, então não vou opinar, mas segue as dicas do amigo fiaux que deve funcionar…[/quote]
Hahahahahaha …
Tá brabo aqui.
Até num novo projeto tá me dando o mesmo erro.
Já fiz.
Estou pensando em migrar p/ o Glassfish, vale a pena ?
A configuração do xml do glassfish seria idêntica ?[/quote]
Esse problema na verdade não é com o servidor, é com o seu IDE, pois as cfgs do web.xml estão certas.
O netbeans da uns erros malucos assim as vezes.
Mas com as dicas do fiaux creio que deva funcionar.
Por essas e outras que eu só utilizo o eclipse.
[]'s
Ah mas o eclipse não te livra dessas coisas não… também rola esses problemas.
Parece que o problema está realmente com o netbeans.
Ja criei outro projeto, e ele ta pegando cache não sei da onde !!! Ja apaguei na mão no tomcat, criei outro projeto e mesmo assim continua.
Já varri meu código a procura de ocorrências do nome errado, e realmente esta tudo correto.
Tanto que quando não executo minha servlet pelo netbeans, vou direto no brownser e coloco a url, abre numa boa. Mas não dá p/ executar a aplicação assim pq esse Servlet é o meu Control, ele que redireciona as requisições e talz, e quando dou um submit na pagina ela vai nesse Serlvet, porém acaba indo buscar no errado novamente.
Como que eu faria seu desinstalasse o tomcat do netbeans, instale-se o tomcat “por fora” para tirar essa integração fatídica.
Onde eu colocaria meus html´s, jsp´s e servlet´s e o web.xml ?