Servlet não funciona no IE. Por que?[OFF-Resolvido]
6 respostas
paulofafism
Pessoal estou tendo o seguinte problema não estou conseguindo executar um servlet no IE. Mas eu consigo executar no FireFox. alguém tem alguma ideia do que pode ser?
Cade a tua servlet??? Está aparecendo alguma mensagem de erro??
Abraço
leofernandesmo
Bom.
1 - O problema é neste JSP que vc colou ou após o envio da solicitação?
2 - O que acontece. Da alguma msg de erro ou o servlet não é executado.?
Ps -> Cole o servlet para a gente ver.
paulofafism
Segue abaixo o código da minha servlet
O Servlet funciona da seguinte maneira:
Esta linha de codigo
armazena o valor que eu quero que meu servlet execute. Por exemplo o valor é "login" então ele irá executar outro servlet reponsável por realizar o login.
No FireBox funciona sem problemas. Mas parece que o IE não consegue capturar o valor do código html
importjava.io.*;importjava.net.*;importjava.util.*;importjavax.servlet.*;importjavax.servlet.http.*;importoberon.command.Command;importoberon.command.LoginCommand;importoberon.command.LogoutCommand;importoberon.exception.CommandException;importoberon.domain.Usuario;/** * Este Servlet funciona como um controlador de comandos. O método <code>Service</code> * pega o processador de comandos apropriado na lista de comandos e chama o seu * método <code>execute</code>, depois redireciona a requisição para a página apropriada. * * @version 1.0 * @author Paulo Vinícius Moreira Dutra */publicclassAdminServletextendsHttpServlet{//Armazena as referências dos comandosprivateHashMap<String,Object>commands;privateStringerrorPage="/error_connection.jsp";publicAdminServlet(){super();}@Overridepublicvoidinit(ServletConfigconfig)throwsServletException{super.init(config);initCommands();}/** * Associa cada indicador de comando a instncia de uma classe de comando * (que pre-configurada com a o nome do arquivo da tela de destino). */privatevoidinitCommands(){commands=newHashMap<String,Object>();//chave: <metodo, classe de comando associado>commands.put("login",newLoginCommand("/sejabemvindo.html"));commands.put("logout",newLogoutCommand("/index.jsp"));}/** * Pega o objeto apropriado o HashMap e fornece um método de fábrica. * @param cmd * @return * @throws CommandException */privateCommandlookupCommand(Stringmetodo)throwsCommandException{if(metodo==null)metodo="home";System.out.println("Comando executado: "+metodo.toLowerCase());if(commands.containsKey(metodo.toLowerCase()))return(Command)commands.get(metodo.toLowerCase());elsethrownewCommandException("Identificador de comando inválido!");}@Overridepublicvoidservice(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{Stringnext;HttpSessionsession=request.getSession();try{Commandcommand=lookupCommand(request.getParameter("metodo"));next=command.execute(request);//CommandToken.set(request);}catch(CommandExceptionce){request.setAttribute("javax.servlet.jsp.jspExecution",ce);next=errorPage;ce.printStackTrace();}// response.sendRedirect(next);RequestDispatcherrd=getServletContext().getRequestDispatcher(next);rd.forward(request,response);}/** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods. * @param request servlet request * @param response servlet response */protectedvoidprocessRequest(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{response.setContentType("text/html;charset=UTF-8");PrintWriterout=response.getWriter();try{/* TODO output your page here out.println("<html>"); out.println("<head>"); out.println("<title>Servlet AdminServlet</title>"); out.println("</head>"); out.println("<body>"); out.println("<h1>Servlet AdminServlet at " + request.getContextPath () + "</h1>"); out.println("</body>"); out.println("</html>"); */}finally{out.close();}}// <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 */protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{processRequest(request,response);}/** * Handles the HTTP <code>POST</code> method. * @param request servlet request * @param response servlet response */protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{processRequest(request,response);}/** * Returns a short description of the servlet. */publicStringgetServletInfo(){return"Short description";}// </editor-fold>}
paulofafism
Detalhe ja ia me esquecendo o erro acontece após o envio do comando. No FireFox funciona mais no IE não
maiconramones
Cara está chegando a tua string metodo como null?? Uma coisa que tu pode testar é o seguinte: fechar a tag input que esta aberta, pode ser que ie esteja se perdendo nisso, não tenho certeza é um chute…