Obtenção dos dados submetidos via POST por um browser

2 respostas
F

Pessoal.
Preciso de uma ajuda.
Eu tenho um aplicativo que lê uma requisição de um browser pelo método GET sem problemas mas quando uso POST, o meu programa encontra fim de arquivo e não consegue ler os parâmetros do POST.
Como o GET é limitado em 255 caracteres, eu preciso dar um jeito de ler esses parâmetros pelo POST mas pelas especificações, os dados estão após dois EOF no arquivo enviado pelo browser.
Como faço para ultrapassã-los ?
Abaixo eu resumi o problema em um programa pequeno e um HTML para a requisição.
Se alguém puder me ajudar, eu agradeço.

import <a href="http://java.io">java.io</a>.<em>;

import <a href="http://java.net">java.net</a>.</em>;

import java.io.FilterInputStream.*;

public class SimpleServer1 {

public static void main(String args[]) {

int contador = 0;

try {

// inicializacao do socket de servidor

ServerSocket srv = new ServerSocket(5432);

while (true) {
System.out.println("Servidor em espera...");
		contador++;
		// entrar em espera por um cliente
		Socket cli = srv.accept();

		InetAddress addrcli = cli.getInetAddress();

		System.out.println("Novo cliente conectado em "+addrcli.getHostAddress());

		PrintWriter out = new PrintWriter(cli.getOutputStream(),true);
		BufferedReader in = new BufferedReader(new InputStreamReader(cli.getInputStream()));
	
		String linha = "";
		linha = in.readLine();
		int fxl = 0;
		while (linha.length() >0)
			{
			fxl++;
		 	System.out.println("Eco:"+linha);
		 	linha = in.readLine();
		   }
		out.println("<h1>Volte sempre.</h1>");
	
		cli.close();
	}


} catch (IOException ioe) { }

}

}

Submite consulta... Busca:

Nome:
País:
Salário:

2 Respostas

Anderson_Leite
public class SimpleServer1 {

Você ta tentando fazer esse post sem usar servlet ou vc não sabe usar e precisa de ajuda ?

public class SimpleServer1 extends HttpServlet {

No seu web.xml

<servlet> <servlet-name>SimpleServer1</servlet-name> <servlet-class>com.xxx.SimpleServer1</servlet-class> </servlet> <servlet-mapping> <servlet-name>SimpleServer1</servlet-name> <url-pattern>/SimpleServer1</url-pattern> </servlet-mapping>

ps: quando colocar código usa a tag Code

F

Preciso fazer o post sem usar Servlet. É um aplicativo para uso interno que fica sozinho em uma porta mas as entradas de dados são via browser.
O browser conversa diretamente com o aplicativo sem apache ou equivalente.

Criado 8 de abril de 2008
Ultima resposta 8 de abr. de 2008
Respostas 2
Participantes 2