Você já chegou a ver o tutorial que vem com o Cewolf? http://cewolf.sourceforge.net/new/tutorial.html? Porque parece que você está tentando fazer tudo do nada, sem ler o tutorial (só uma impressão minha, tá? Posso estar errado…
Só pra constar:
Você não tem que criar uma servlet para exibir os dados da aplicação: a sua classe não precisa ser um servlet…
Você precisa habilitar a servlet do cewolf, veja lá no tutorial…
Para que você possa receber os parâmetros “a” e “b” você teria que criar duas propriedades no seu bean (olha lá o tutorial, de novo… etapa 4…) a sua página grafico.jsp teria algo assim:
Veja que na etapa 4 do tutorial ele usa umas tags específicas para montar o gráfico e para exibir o gráfico, e que ele usa o bean especificado acima como parâmetro.
Eu até podia mastigar por completo a solução, mas vai levar um tempão danado, e acho que você consegue se ver o tutorial com cuidado…
[b]Olá, abmpicoli
Eu já tinha feito o exemplo do cewolf e deu certinho. Resolvi modificá-lo para gerar um gráfico de função afim e também deu tudo certinho ^^
Nesse exemplo do tutorial do site, os valores das variáveis são adicionados diretamente sem interação de fora. Eu quero mudar isso e fazer com que o usuário entre com alguns valores através de um formulário.
No gráfico.jsp o bean que você mencionou apenas chama minha classe PageViewCountData, que por sua vez retorna o objeto gráfico a ser exibido.
Eu mudei essa classe para ser um servlet por sugestão do isaiassp. Antes eu tinha criado um servlet dentro da classe somente para receber esses valores e passá-los para variáveis globais da classe, que seriam usadas para geração do gráfico.
Com a sua postagem fiquei na dúvida se posso enviar os valores digitados pelo usuário do jsp que exibe o gráfico no instante em que chamo a classe que retorna o objeto gráfico para exibição. Vou pesquisar mais sobre as tags do cewolf.
Recomendo também que você leia mais sobre a tag jsp:useBean e jsp:setProperty. O jsp:useBean serve justamente para fazer com que uma instância de determinada classe seja disponibilizada. Essa instância pode ter escopo de sessão, request, page… Ou seja, quando você usa o jsp:useBean você está armazenando no bean o que você chama de “variáveis globais”. E o jsp:setProperty serve para atualizar esses “valores globais”.
[quote=studant]OLÁ
Estou gerando gráficos com cewolf . Penso em fazer o seguinte: entrar com dois valores de uma equação através de um formulário e enviá-los para um servlet que esta dentro de uma classe que trata dos dados a serem exibidos no gráfico. No servlet os valores digitados pelo usuário são passados para variáveis globais e depois este redireciona para a página onde aparecerá o gráfico.
Meu código aparentemente está sem erros, no entanto quando compilo o projeto aparece a página com o formulário. Eu entro com os valores mas depois dá um erro 404 no tomcat.
Não entendo o motivo. Gostaria que vocês dessem uma olhada no meu código acredito que estou errando na configuração do XML , mas também não tenho certeza.
Abaixo a minha classe com o servlet:
[code]
//+codigo aqui
public class PageViewCountData implements DatasetProducer, CategoryToolTipGenerator, CategoryItemLinkGenerator, Serializable {
private static final Log log = LogFactory.getLog(PageViewCountData.class);
private float a;
private float b;
public class Servlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// processRequest(request, response);
a = Float.parseFloat(request.getParameter("a"));
b = Float.parseFloat(request.getParameter("b"));
response.sendRedirect("grafico.jsp");
}
}
<servlet-mapping>
<servlet-name>aServlet</servlet-name><!-- servlet-name é deve ser o mesmo nome privado da servlet -->
<url-pattern>/Servlet</url-pattern> <!--url-pattern é o endereço público na web entrar na servlet-->
</servlet-mapping>[/code]