Erro 404 tomcat - formulário / servlet

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:

  1. Você não tem que criar uma servlet para exibir os dados da aplicação: a sua classe não precisa ser um servlet…

  2. Você precisa habilitar a servlet do cewolf, veja lá no tutorial…

  3. 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:

<jsp:useBean id=“meugrafico” class="<>"/>
<jsp:setProperty name=“meugrafico” property=“a” value="<%=request.getParameter(“a”)%>"/>

  1. 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 :stuck_out_tongue:
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.

Muito obrigada pela ajuda. \o/[/b]

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");

    }
}

// +codigo aqui…
}[/code]


Este é o meu xml:

[code]

aServlet
Cewolf21.codigo.PageViewCountData.Servlet

 <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]

Aqui meu formulário simples:


        
       <form action="Cewolf21.codigo.PageViewCountData.Servlet" method="post">

			<center <h1>Formulário</h1><br/><p>Entre com os seguintes valores da equação y=ax+b<p/><table>
			<tr>
				<td>a:</td>
				<td><input type="text" name="a" size="20"></td>
			</tr>
			<tr>
				<td>b:</td>
				<td><input type="text" name="b" size="20"  maxlength="20"></td>
			</tr>
                        <tr>
				<td></td>
				<td></td>
			</tr>
			<tr>
				<td><input type="submit" name="Enviar" value="Enviar"></td>
                                <td><input type="reset" name="reset" value="Limpar" /></td>

			</tr>
 			</table></center>
 

Estou errando ao chamar o servlet? Ou na configuração do XML? Me auxiliem por gentileza :cry:

Grata.[/quote]
Meus arquivos estavam assim.

Vou pesquisar sim… muito obrigada pela dica ;):slight_smile: