Mapear uma Classe no Controller - Spring

3 respostas
F

Boa noite,

Tenho uma classe que gera um arquivo PDF chamada "BoletoServlet"

package br.com.inventario.relatorios;

/** Classe de Servlet que produz um arquivo PDF de um Boleto */
public class BoletoServlet extends GeradorRelatorioPDF {

	private static final long serialVersionUID = 1L;

	/** Construtor default */
	public BoletoServlet() {
		super();
		/* configura atributos para gerar o PDF a partir do relatorio */
		dataSourceFilename    = "notasFiscais.xml";
		jasperReportFilename  = "boleto.jasper";
		reportDataSourceXPath = "/report/data/file";
	}

}

Quando mapeio essa classe no "web.xml" e a chamo, ela gera o PDF normalmente.

</session-config>
  <servlet>
    <description></description>
    <display-name>BoletoServlet</display-name>
    <servlet-name>BoletoServlet</servlet-name>
    <servlet-class>br.com.inventario.relatorios.BoletoServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>BoletoServlet</servlet-name>
    <url-pattern>/boleto</url-pattern>
  </servlet-mapping>

Gostaria de ao invés de mapear essa classe no meu WEB.XML, chamala diretamente do meu Controller. Mas não se como faço isso EX:

@Controller
public class InventarioController {
	
	@RequestMapping ("boleto")
	public String boleto (){
		
	}

Sei que quando tem um metodo instancio a classe e depois chamo o método, mas nesse caso a classe não tem método além do construtor.

Qual é a forma correta de trabalhar com essa situação?

Obrigado

3 Respostas

D

Mas não é o contrário? É a servlet que deve chamar o controller…

F

Sim o Servllet tmb chamara meu controller.

Mas antes disso preciso chamar essa casse “br.com.inventario.relatorios.BoletoServlet” diretamente do meu controller.

Como faço isso?

Lembrando que a classe não tem método e não consigo instaciar e chamar o metodo.

D

Isso que você está tentando fazer é um absurdo sem tamanho.
Se vai utilizar Spring e vai aplicar MVC, ao menos se dê ao trabalho de estudar e entender como o framework e o pattern funcionam.
Primeiro, nunca faça as coisas no método construtor. Isso é errado, ainda mais quando você está trabalhando com um framework DI/IoC.
Faça isso direito, corrija, antes que você se meta em uma grande dificuldade.

Criado 13 de junho de 2013
Ultima resposta 14 de jun. de 2013
Respostas 3
Participantes 2