Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Argumento HttpServletResponse na classe ContaController

A classe ContaController não compila quando eu coloco o argumento response. Aparece uma mensagem informando que a classe HttpServleteResponse não foi encontrada.

5 respostas

Olá Nilo, você pode colocar sua classe ContaController aqui com os imports para que eu possa ter uma ideia de como ajudar?

De antemão adianto que isso pode também ser um problema do eclipse. Veja se no seu projeto, o servidor (tomcat) está configurado corretamente.

Olá Paulo. Segue a minha classe:

package br.com.caelum.contas.controller;

import java.util.List;

import javax.validation.Valid;

import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView;

import br.com.caelum.contas.dao.ContaDAO; import br.com.caelum.contas.modelo.Conta;

@Controller public class ContaController {

@RequestMapping("/form") public String formulario() {

return "formulario"; }

@RequestMapping("/adicionaConta") public String adiciona(@Valid Conta conta, BindingResult result) {

if (result.hasErrors()){ return " forward:formulario"; }

System.out.println(conta.getDescricao() + " adicionada com sucesso!"); ContaDAO dao = new ContaDAO(); dao.adiciona(conta);

return "forward:listaContas"; }

@RequestMapping("/listaContas") public ModelAndView lista(){

ContaDAO dao = new ContaDAO(); List contas = dao.lista();

ModelAndView mv = new ModelAndView("conta/lista"); mv.addObject("contas",contas);

return mv; }

@RequestMapping("/pagaConta") public void paga(Conta conta, HttpServletResponse response){

ContaDAO dao = new ContaDAO(); dao.paga(conta.getId());

return response.setStatus(200); ;

}

@RequestMapping("/removeConta") public String remove(Conta conta){

ContaDAO dao = new ContaDAO(); dao.remove(conta);

return "forward:listaContas"; }

@RequestMapping("/mostraConta") public String mostra(Long id, Model model){

ContaDAO dao = new ContaDAO(); model.addAttribute("conta", dao.buscaPorId(id));

return "conta/mostra"; }

@RequestMapping("/alteraConta") public String altera(Conta conta) {

ContaDAO dao = new ContaDAO(); dao.altera(conta);

return "redirect:listaContas"; }

}

Paulo. Eu importei o meu projeto em outro computador e depois fiz o import da classe import javax.servlet.http.HttpServletResponse.

Acredito o problema estava relacionado ao Eclipse pois eu não conseguia fazer o import da classe.

solução!

Então Nilo, tente deletar seu workspace no Eclipse e crie novamente. E ai basta importar o projeto de novo. Se mesmo assim continuar, o problema é no projeto e não no workspace. Veja no seu projeto se a biblioteca do tomcat está adicionada.

Clique com o botão direito em cima do projeto. Depois no meu escolha a opção Build Path > Configure Build Path...

Na janela que abriu vá na aba Libraries. Verifique se nas bibliotecas que apareceu abaixo está aparecendo a do Tomcat. Caso não esteja, no meu lateral que apareceu escolha Add Library > Server Runtime e escolha o Tomcat para adicionar ao projeto.

Me avise se alguma das opções deu certo. Abraço.

Deu certo qdo deletei o meu workspace e importei o projeto. Obrigado.