Variáveis de um HTML para um Servlet
Fiz funcionar uma pequeno exemplo meu. Só que eu fixei os parâmtros dos argumentos de meu método. Agora ao pressionar o botão Enviar(SUBMIT), gostaria de que os valores dentro do Edit, fosse como parâmetros para os argumentos em meu métod, que são chamados de dentro de um servlet. Abaixo os códigos do HTML e do ServLet.
e meu servlet
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Calcula Números Primos</title> </head> <body> <center><h2>Calcular Números Primos Por Faixa</h2></center> <form method="POST" action="calcula.do"> Número inicial: <input type="text" name="edtIncial"/><br><br> Número final: <input type="text" name="edtFinal"/><br><br> <input type="SUBMIT" name="btnEnviar" value="Enviar"/> </form> </body> </html>
e meu servlet
package com.classes.primo;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
/**
* Servlet implementation class Calcula_Primo
*/
public class Calcula_Primo extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public Calcula_Primo() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("O(s) números primos são os abaixo....<br><br>");
Primo_Faixa cp = new Primo_Faixa();
out.println(cp.CalcFaixaPrimo(1, 99));//Aqui dever entrar os parâmetros e não fixo como estão
}
}
Pjava
Curtidas 0
Respostas
Pjava
26/01/2011
Resolvi assim:
int inicio = Integer.parseInt(request.getParameter("edtIncial"));
int fim = Integer.parseInt(request.getParameter("edtFinal"));
out.println(cp.CalcFaixaPrimo(inicio, fim));GOSTEI 0
Marco Maria
26/01/2011
Paulo,
para utilizar os valores passados na sua página em seu servlet você deverá utilizar o método getParameter da interface HttpServletRequest. A assinatura desse método é String getParameter(String name)
Ele permite obter os valores passados a partir dos nomes dos campos de entrada, portanto seu código ficaria parecido com algo assim:
espero ter ajudado um pouco.
para utilizar os valores passados na sua página em seu servlet você deverá utilizar o método getParameter da interface HttpServletRequest. A assinatura desse método é String getParameter(String name)
Ele permite obter os valores passados a partir dos nomes dos campos de entrada, portanto seu código ficaria parecido com algo assim:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
response.setContentType("text/html");
PrintWriter out = response.getWriter();
try {
int valorInicial = Integer.parseInt(request.getParameter("edtIncial"));
int valorFinal = Integer.parseInt(request.getParameter("edtIncial"));
out.println("O(s) números primos são os abaixo....<br><br>");
Primo_Faixa cp = new Primo_Faixa();
out.println(cp.CalcFaixaPrimo(valorInicial, valorFinal));
}catch(NumberFormatException nfex) {
out.println("Falha ao obter faixas de valores: "+nfex.getMessage());
}
espero ter ajudado um pouco.
GOSTEI 0
Marco Maria
26/01/2011
Corrigindo a formatação anterior....
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
response.setContentType("text/html");
PrintWriter out = response.getWriter();
try {
int valorInicial = Integer.parseInt(request.getParameter("edtIncial"));
int valorFinal = Integer.parseInt(request.getParameter("edtIncial"));
out.println("O(s) números primos são os abaixo....<br><br>");
Primo_Faixa cp = new Primo_Faixa();
out.println(cp.CalcFaixaPrimo(valorInicial, valorFinal));
}
catch(NumberFormatException nfex) {
out.println("Falha ao obter faixas de valores: "+nfex.getMessage());
}
GOSTEI 0
Pjava
26/01/2011
Ficou mais profissional com um Try...Catch. Agora uma pergunta: É possível retornar isso tudo dentro de uma tabela? Tipo Grid? Nesse momento meu próximo passo é gravar isso num BD, usando Hibernate. Estou lendo para depois tentar gravar. Estou fazendo outros exemplos.
GOSTEI 0
Dyego Carmo
26/01/2011
Sem duvidas...
utilize o resulset para isto :)
utilize o resulset para isto :)
GOSTEI 0