Erro na codição do servlet

6 respostas
C

Guj's

Estou tentado executar um servlet porém ele vai redirecionar a página conforme uma variável que ele irá receber..bom o servlet é esse em baixo,
quando eu executo passado esse atributo ListarItens ele redireciona para itens.jsp. se eu chama-lo de outro lugar que não tenha esse atributo ListarItens conforme o else ele teria que redirecionar para o index.jsp só que ele me retorna um erro.

isso acontece pq a variável button não tem valor?

[
code]protected void doRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
	String button = request.getParameter("ListarItens");
		
		
		try {
			
			List <Item> lista = new ArrayList<Item>();
			
		ItensDaoMysql iDao = new ItensDaoMysql();

			
			lista = iDao.listarItens();
			//request.setAttribute("listaItens", lista);
			
			HttpSession session = request.getSession(false);
			session.setAttribute("listaItens", lista);	
			
			
			if(button.equals("ListarItens")){
			
				request.getRequestDispatcher("Itens.jsp").forward(request, response);
			}else{
				
			request.getRequestDispatcher("index.jsp").forward(request, response);
			
			}
			
			System.out.println(button);
				
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

    	
		}
[/code]

6 Respostas

D

Poste o erro para podermos entender do que se tratra :smiley:

C

11/11/2011 12:04:04 org.apache.catalina.core.StandardWrapperValve invoke GRAVE: Servlet.service() for servlet [Controller.ServletListItens] in context with path [/SinformandoV2] threw exception java.lang.NullPointerException at Controller.ServletListItens.doRequest(ServletListItens.java:57) at Controller.ServletListItens.doPost(ServletListItens.java:91) at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:185) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:151) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:269) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)

D

amigo pelo erro que esta ocorrendo é algum objeto que ele está tentando acessar que nao está instaciado verifique na sua pagina index se tem algum objeto que nao esteje instaciado.

Controller.ServletListItens.doRequest(ServletListItens.java:57)
at Controller.ServletListItens.doPost(ServletListItens.java:91) tente verificar esta linhas creio eu que seje um servelet ListItens né?

provavelmente neste servelet tem algum objeto que está como null!

L

Se vc executar de uma página que não envia o parametro ListarItens, a viariável button ficará nula e nesse trecho

if(button.equals("ListarItens")) vc tera uma NullPointerException , tente mudar a comparacao p/ if(button==null) ou sete o parametro ListarItens com valores diferentes nas paginas .

D
luiz_renato:
Se vc executar de uma página que não envia o parametro ListarItens, a viariável button ficará nula e nesse trecho
if(button.equals("ListarItens"))
vc tera uma NullPointerException , tente mudar a comparacao p/
if(button==null)
ou sete o parametro ListarItens com valores diferentes nas paginas .

bem explicado!

C

Obrigado era isso mesmo!

Valeu!

if(button!=null){
Criado 11 de novembro de 2011
Ultima resposta 11 de nov. de 2011
Respostas 6
Participantes 3